當前位置:首頁 » 編程軟體 » java圖像編程

java圖像編程

發布時間: 2022-03-04 06:57:21

java編程實現下面的圖形。

第一排:從1到5,自增然後再自減;
第二排:(空一格)從1到4,自增然後再自減;
第三排:(空兩格)從1到3,自增然後再自減;
。。。。以此類推,規律已經幫你找出來了,自己想辦法看如何簡單實現他??程序猿還是要自己動動腦子,不然不會成長的

㈡ java圖像編程

思路很簡單,設置按鈕的監聽器,你認真看一下監聽器的教程。比如你設置一個按鈕B,然後給B加上一個監聽器,當按下B的時候跳轉到另一個窗口,看下面代碼實現了一個簡單跳轉!希望能幫到你。
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class MultiListener {

private Frame f = new Frame("測試");
private Frame f1 = new Frame("另一個窗口");
private TextArea ta = new TextArea(6 , 40);
private Button b1 = new Button("按鈕一");
private Button b2 = new Button("按鈕二");
public void init(){
b1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
f1.pack();
f1.setVisible(true);

}
});
f.add(ta);
Panel p = new Panel();
p.add(b1);
p.add(b2);
f.add(p , BorderLayout.SOUTH);
f.pack();
f.setVisible(true);

}
}

㈢ java 編程 圖像問題

用線程 Thread.sleep(1000); 樓上的都不可以額~

㈣ java 有關處理圖象的編程(200分求教)

看來樓主也不是很急啊,做好了,在下面:
http://hi..com/ttbet/blog/item/ef2991f01a4390c47931aa81.html
==========================================================
//請將下面代碼保存成:LineTest.java , 已在JDK1.4環境下測試通過
//如果你的JDK是:JDK1.6_10,請取消掉UI部分的注釋,這將支持最新的UI:NimbusLookAndFeel

import java.awt.*;
import java.awt.geom.*;
import java.awt.image.BufferedImage;
import javax.swing.*;
import javax.swing.UIManager.LookAndFeelInfo;
import javax.swing.event.*;
//主程序
public class LineTest {
//程序入口
public static void main(String[] args) throws Exception{
// LookAndFeelInfo[] info = UIManager.getInstalledLookAndFeels();
// for(int i=0; i<info.length; i++){
// if("Nimbus".equals(info[i].getName()))
// UIManager.setLookAndFeel(info[i].getClassName());
// }
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
JFrame f = new JFrame("線條測試");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(800,600);
f.setLocationRelativeTo(null);
MyCanvas c=new MyCanvas();
f.getContentPane().add(c);
f.getContentPane().add(new MyPanel(c),"South");
f.setVisible(true);
}
}
/**這個面板裝載了8個控制線條參數的滑塊組件*/
class MyPanel extends JPanel implements ChangeListener{
public static int v1,v2,v3,v4,v5,v6,v7,v8;
private JSlider d1,d2,d3,d4,d5,d6,d7,d8;
private Canvas c;
MyPanel(Canvas c){
super(new GridLayout(2,3));
this.c=c;
this.setPreferredSize(new Dimension(1,120));
this.setBorder(BorderFactory.createRaisedBevelBorder());
d1=new JSlider(1,100,30);//組內縱向距離
d2=new JSlider(-500,500,100);//組縱向距離
d3=new JSlider(10,1000,222);//組橫向距離
d4=new JSlider(0,100,8);//線條數量
d5=new JSlider(-100,800,168);//Y軸偏移
d6=new JSlider(2,100,10);//線條粗細度
d7=new JSlider(1,100,80);//線條淡入淡出程度
d8=new JSlider(0,255,50);//線條顏色

initSliders(d1,"D1距離");
initSliders(d2,"D2距離");
initSliders(d3,"D3距離");
initSliders(d4,"線條數量");
initSliders(d5,"Y軸向偏移");
initSliders(d6,"線條粗細");
initSliders(d7,"淡入淡出");
initSliders(d8,"線條對比度");

this.stateChanged(null);
}
private void initSliders(JSlider c,String title){
c.setBorder(BorderFactory.createTitledBorder(title));
c.addChangeListener(this);
this.add(c);
}
public void stateChanged(ChangeEvent e) {
v1=d1.getValue();
v2=d2.getValue();
v3=d3.getValue();
v4=d4.getValue();
v5=d5.getValue();
v6=d6.getValue();
v7=d7.getValue();
v8=d8.getValue();
c.paint(c.getGraphics());
}
}
/**這是畫布類*/
class MyCanvas extends Canvas{
public void paint(Graphics g){
if(g==null)return;
int d1 = MyPanel.v1;
int d2 = MyPanel.v2;
int d3 = MyPanel.v3;
int w=this.getWidth();
int h=this.getHeight();
int a = MyPanel.v4;
int oy=MyPanel.v5;
//根據滑塊參數來取得一個形狀的對象
Shape shape = MyModel.getShape(d1, d2, d3, w, h,a,oy);
//使用緩沖區來作圖,起到防止畫布閃爍的目的
BufferedImage img = new BufferedImage(w,h,BufferedImage.TYPE_INT_ARGB);
Graphics2D g2 = img.createGraphics();
g2.setColor(Color.white);
g2.fillRect(0,0,w,h);
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
//畫布的筆觸,粗細調節
Stroke stroke = new BasicStroke(MyPanel.v6/10f);
g2.setStroke(stroke);
float[] dist={0.0f,MyPanel.v7/100f};
Color[] colors = {new Color(0x00FFFFFF,true),new Color(MyPanel.v8,MyPanel.v8,MyPanel.v8)};
//畫布的顏料,淡入淡出的效果
Paint paint = new LinearGradientPaint(new Point(0,0),new Point(w/2,0),dist,colors,MultipleGradientPaint.CycleMethod.REFLECT);
g2.setPaint(paint);
g2.draw(shape);
g2.dispose();
//將緩沖區圖像畫到畫布上
g.drawImage(img,0,0,null);
g.dispose();
}
}
class MyModel{
/**
* 參數說明:<br/>
* d1組內線條的距離
* d2組之間的縱向距離
* d3組之間的橫向距離
* w是畫布的寬度
* h是畫布的高度
* amount每組的線條數量
* offsetY線條Y軸向的偏移
* */
public static Shape getShape(int d1,int d2,int d3,int w,int h,int amount,int offsetY){
Path2D p = new Path2D.Double();
for(int i=0; i<amount; i++){
Path2D t = new Path2D.Double();
double x1=w/2d;
double y1=i*d1+offsetY;
double x2=x1;
double y2=y1-d2;
t.moveTo(0,y1);
t.lineTo(x1-d3/2d,y1);
t.curveTo(x1,y1,x2,y2,x2+d3/2d,y2);
t.lineTo(w,y2);
p.append(t,false);
}
return p;
}
}

㈤ 我用java的圖像編程,怎麼用repaint()函數是,原來的圖像不消除啊下面是我的代碼,原來的矩形還在哪裡

在每次畫矩形前,先設定一種背景顏色(如白色)來清除先前的客戶區
g2.setBackground(new Color(255,255,255));
g2.clearRect(0, 0, width, height); (這里需要傳入客戶區的寬和高)

然後在進行你的步驟就可以實現你要的矩形移動效果了。
試試吧,有問題再討論。

㈥ java圖形編程

代碼如下,以後做界面也建議你把內容畫在一個 JPanel 上然後添加到 JFrame 里。
JFrame 的坐標是從整個窗口的左上角為原點的,包含了邊框。因此我畫在 JPanel 上,避免了這個問題。

import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.Graphics;
import java.awt.Color;

class MyPanel extends JPanel {
public void paint (Graphics g) {
super.paint(g);
g.setColor(Color.RED);
g.fillRect(30, 30, 200, 100);
g.setColor(Color.WHITE);
for (int i=1; i<5; i++) {
g.drawLine(30, 30+100*i/5, 230, 30+100*i/5);
}
for (int i=1; i<10; i++) {
g.drawLine(30+200*i/10, 30, 30+200*i/10, 130);
}
}
}

public class Demo extends JFrame {
public Demo () {
super("Demo");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(260, 200);
setLocationRelativeTo(null);
setContentPane(new MyPanel());
setVisible(true);
}

public static void main (String args[]) {
new Demo();
}
}

㈦ Java圖形用戶界面編程

我給你寫,已經測試,你看合不合你的意思
package dongzi.pattern;

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class SumTest extends JPanel{
JTextField mem[] = new JTextField[10] ;
JButton sumButton = new JButton("SUM") ;
JTextField sumText = new JTextField(4) ;

public SumTest() {
setLayout(new FlowLayout()) ;
for (int i = 0; i < 10; i++) {
mem[i] = new JTextField(4) ;
add(mem[i]) ;
}
add(sumButton) ;
add(sumText) ;

sumButton.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
int sum = 0 ;
for (int i = 0 ;i < 10; i++) {
sum += Integer.parseInt(mem[i].getText().trim()) ;
}
sumText.setText(String.valueOf(sum)) ;
}

}) ;
}

public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame frame = new JFrame() ;
SumTest test = new SumTest() ;
frame.add(test) ;

frame.setSize(800, 100) ;
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ;
frame.setVisible(true) ;

}

}

㈧ java編程實現圖形界面

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.JButton;
public class mi
{
private static String username;
private static String password ;
private static JTextField []t={
new JTextField("賬號:",8),new JTextField(10),
new JTextField("密碼:",8),new JPasswordField(10)};

public static void main (String args[]){
JFrame app=new JFrame("賬號密碼演示程序");
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
app.setSize(280,120);
Container c=app.getContentPane();
c.setLayout(new FlowLayout());

t[0].setEditable(false);
t[2].setEditable(false);
for(int i=0;i<4;i++)
c.add(t[i]);t[1].setText("");

JButton[]b={new JButton("確定"),new JButton("重置")};
c.add(b[0]);c.add(b[1]);
app.setLocationRelativeTo(null);
app.setVisible(true);

b[1].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
t[1].setText("");
t[3].setText("");
}
});
// 登錄按鈕加事件監聽器
b[0].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
username = t[1].getText();
password = t[3].getText();
//判斷用戶名密碼是否正確
if (username.equals("數字") && password.equals("123")) {
JOptionPane.showMessageDialog(null, "登陸成功!", "消息",
JOptionPane.INFORMATION_MESSAGE);

} else {
JOptionPane.showMessageDialog(null, "用戶名或密碼錯誤!", "錯誤",
JOptionPane.ERROR_MESSAGE);
}
}
}); }

}

㈨ java圖形界面編程

執行java Applt小程序不是這樣運行的。你必須建一個html文件,然後在輸入
<applet code="ButtonDemo.class"
width=320 height=180>
</applet>
其中code是你編譯ButtonDemo類是生成的class文件。然後在cmd中找到html文件所在的路徑下輸入appletviewer xxx.html
就可以運行了

熱點內容
看linux版本 發布:2025-01-20 04:40:37 瀏覽:19
php獲取調用的方法 發布:2025-01-20 04:25:45 瀏覽:458
SMPT郵箱伺服器地址 發布:2025-01-20 04:04:16 瀏覽:662
抖影工廠為什麼安卓手機用不了 發布:2025-01-20 04:00:05 瀏覽:386
我的世界網易版怎麼進朋友伺服器 發布:2025-01-20 03:50:10 瀏覽:684
phpsession跳轉頁面跳轉 發布:2025-01-20 03:47:20 瀏覽:540
深圳解壓工廠 發布:2025-01-20 03:41:44 瀏覽:690
linux字體查看 發布:2025-01-20 03:41:30 瀏覽:742
pythonextendor 發布:2025-01-20 03:40:11 瀏覽:199
為什麼安卓手機儲存越來越少 發布:2025-01-20 03:40:07 瀏覽:925