不大明白楼主的意思,要动态的画图还是仅仅在一个JPanel上画图形?
写了一个例子,程序把几个Panel放在Frame上(有一个画一个矩形),希望对楼主有用:/* Test.java */import java.awt.*;
import javax.swing.*;class ComPanel extends JPanel { //不画图的panel
private JLabel label = new JLabel("A Label");
ComPanel() {
add(label);
}
}class PaintPanel extends JPanel { //画图的panel
public void paintComponent(Graphics g) {
g.drawRect(50, 50, 100, 100);
}
}class MyFrame extends JFrame {
MyFrame() {
setTitle("A Test");
setSize(300, 300);
Container contentPane = getContentPane();
//3个普通panel
contentPane.add(new ComPanel(), BorderLayout.NORTH);
contentPane.add(new ComPanel(), BorderLayout.SOUTH);
contentPane.add(new ComPanel(), BorderLayout.WEST);
//The main panel that draw a square
contentPane.add(new PaintPanel(), BorderLayout.CENTER);
}
}public class Test {
public static void main(String[] args) {
MyFrame jellen = new MyFrame();
jellen.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jellen.show();
}
}
写了一个例子,程序把几个Panel放在Frame上(有一个画一个矩形),希望对楼主有用:/* Test.java */import java.awt.*;
import javax.swing.*;class ComPanel extends JPanel { //不画图的panel
private JLabel label = new JLabel("A Label");
ComPanel() {
add(label);
}
}class PaintPanel extends JPanel { //画图的panel
public void paintComponent(Graphics g) {
g.drawRect(50, 50, 100, 100);
}
}class MyFrame extends JFrame {
MyFrame() {
setTitle("A Test");
setSize(300, 300);
Container contentPane = getContentPane();
//3个普通panel
contentPane.add(new ComPanel(), BorderLayout.NORTH);
contentPane.add(new ComPanel(), BorderLayout.SOUTH);
contentPane.add(new ComPanel(), BorderLayout.WEST);
//The main panel that draw a square
contentPane.add(new PaintPanel(), BorderLayout.CENTER);
}
}public class Test {
public static void main(String[] args) {
MyFrame jellen = new MyFrame();
jellen.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jellen.show();
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货