
button1.addactionlistener(this)//接口里再写就可以了
panel panel1 = new panel()
panel1.add(button1)
frame.add(button1)
首先我们来看一下如何让窗口(比如说JFrame)的标题栏不显示呢?其实很简单,只需要调用Frame类中的setUndecorated()方法就可以让Frame窗口失去边框和标题栏的修饰了。代码示例如下: JFrame f = new JFrame(test frame) f.setUndecorated(true) f.setSize(300, 300) f.setVisible(true) 运行如上程序,您将会发现一个没有任何边框和标题栏的窗口显示在界面上了。但是这里需要注意的是,setUndecroated方法必须在 setVisible之前被执行,一定要确保Frame窗口是新创建并且没有做过任何显示,甚至是pack动作也不能做过,否则你会得到一个异常。 好了,完成一个任务之后,我们继续来讲述如何让窗口全屏幕显示,这个问题的解决思路非常简单,只要我 ...setBackground设置背景色!布局随便选,下面程序使用了边框(BorderLayout)和流水(FlowLayout)2种布局方式!
顺便帮你加了一个按钮事件!有问题再追问吧!~
import java.awt.BorderLayout
import java.awt.Color
import java.awt.Container
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.JLabel
import javax.swing.JPanel
public class Test extends JFrame implements ActionListener {
private JPanel panel0 = null, panel2 = null
private JButton b1 = null, b2 = null, b3 = null, b4 = null
public Test() {
Container c = this.getContentPane()
//边框布局
c.setLayout(new BorderLayout())
//创建panel
panel0 = new JPanel()
panel2 = new JPanel()
//为2个panel设置底色
panel0.setBackground(Color.red)
panel2.setBackground(Color.BLUE)
//2个panel都是用流水布局
panel0.setLayout(new FlowLayout())
panel2.setLayout(new FlowLayout())
//创建按钮
b1 = new JButton("panel2黄色")
b2 = new JButton("panel2绿色")
b3 = new JButton("panel0橙色")
b4 = new JButton("panel0灰色")
/**
* 添加按钮事件
*/
b1.addActionListener(this)
b2.addActionListener(this)
b3.addActionListener(this)
b4.addActionListener(this)
/**
* 将按钮添加相应panel上
*/
panel0.add(b1)
panel0.add(new JLabel())
panel0.add(b2)
panel2.add(b3)
panel2.add(b4)
/**
* 将panel添加到容器
*/
c.add(panel0, BorderLayout.CENTER)
c.add(panel2, BorderLayout.EAST)
this.setSize(500, 500)
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
this.setVisible(true)
}
public static void main(String[] args) {
new Test()
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if (e.getSource() == b1) {
panel2.setBackground(Color.yellow)
} else if (e.getSource() == b2) {
panel2.setBackground(Color.green)
} else if (e.getSource() == b3) {
panel0.setBackground(Color.ORANGE)
} else if (e.getSource() == b4) {
panel0.setBackground(Color.GRAY)
}
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)