求大神!!怎么利用java语言在Frame里添加一个按钮啊?并且还要按了之后执行另一个程序?

求大神!!怎么利用java语言在Frame里添加一个按钮啊?并且还要按了之后执行另一个程序?,第1张

button button1 = new button("asdas")

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)

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11589382.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存