【发布时间】:2014-11-27 23:00:33
【问题描述】:
-
您好,我有以下课程,我想要显示内容 (paintComponentor 具有来自绘画类的此矩形的面板) 在我的 JFrame 里面。我已经尝试找出如何通过以下方式实现这一目标 看看这个论坛上发布的不同例子但是这个 对我没有帮助我需要简单的例子,比如框架内的面板 油漆组件或类似的东西,以了解应该如何工作! 附言。不要把我挂在树上,因为我是新手,问问题!!!
[我想要这样的东西][1]
package scp; import java.awt.*; import javax.swing.*; public class Panel extends JPanel { public Panel() { //this.setPreferredSize(new Dimension(200,200)); //panel = new Panel(); setVisible(true); setLayout(new FlowLayout()); setSize(200, 300); getRootPane(); } @Override public void paintComponent(Graphics g){ g.drawString("HEY",20,20); g.drawRect(200, 200, 200, 200); } } and package scp; import javax.swing.JFrame; import javax.swing.JButton; import java.awt.Color; import java.awt.FlowLayout; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.beans.EventHandler; public class Frame extends JFrame { JButton redButton; JButton blueButton; public Frame() { super("EventHandling"); setLayout(new FlowLayout()); redButton = new JButton("Red"); add(redButton); blueButton = new JButton("Blue"); add(blueButton); EventHandler h = new EventHandler(); redButton.addActionListener(h); blueButton.addActionListener(h); } private class EventHandler implements ActionListener { public void actionPerformed(ActionEvent e) { if (e.getSource()==redButton) getContentPane().setBackground(Color.RED); else if(e.getSource()==blueButton) getContentPane().setBackground(Color.BLUE); } } } and package scp; import javax.swing.JFrame; public class EventHandling { public static void main(String[] args) { Frame f = new Frame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setSize(800,600); f.setVisible(true); f.getContentPane().add(new Panel()); } }
【问题讨论】:
标签: java swing jpanel paintcomponent