java中如何在jframe标题栏中添加按钮

java中如何在jframe标题栏中添加按钮,第1张

让窗口全屏幕显示,并且不显示标题栏的情况在常用的软件开发中不是非常多见,但是对于开发如视频播放器这样的软件时,这样的功能就变得不可缺少了,那么如何实现这两个功能呢?代码示例如下: JFrame f = new JFrame(test frame) f.setUndecorated(true) f.setSize(300, 300) f.setVisible(true) 运行如上程序,您将会发现一个没有任何边框和标题栏的窗口显示在界面上了。但是这里需要注意的是,setUndecroated方法必须在 setVisible之前被执行,一定要确保Frame窗口是新创建并且没有做过任何显示,甚至是pack动作也不能做过,否则你会得到一个异常

首先在你的helloworld程序对应的layout配置文件(res/layout/下的XXX.xml文件)中添加一个按钮,具体代码如下

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent">

<!-- 下面这段就是添加的button -->

<Button android:id="@+id/button"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="change background" />

</LinearLayout>

然后在你的继承Activity类的java类中添加按钮的事件监听以及事件处理,代码如下:

public class 你的helloworld类名 extends Activity implements OnClickListener {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState)

setContentView(R.layout.你的layout文件名)

//下面的代码用于为按钮注册一个监听

findViewById(R.id.frame_layout).setOnClickListener(new OnClickListener() {

//下面的代码用于处理按钮点击后的事件

public void onClick(View v) {

//下面的代码用于使背景变色

findViewById(R.id.layout).setBackgroundColor(Color.BLUE)

}

})

}

lz  你好

(ps:  lz  加点儿分吧  太少了……)

具体代码如下:

import java.awt.*

import java.awt.event.*

import javax.swing.*

import java.io.*

public class Test extends JFrame {

private JLabel name,phone,sex

private JTextField inputName,inputPhone

private JComboBox sexBox

private String[] item = {"男", "女"}

private JButton save

public Test() {

super("信息管理")

setSize(240,300)

setLayout(new FlowLayout(FlowLayout.CENTER, 10, 30))

name = new JLabel("姓名:")

phone = new JLabel("手机号:")

sex = new JLabel("性别:")

inputName = new JTextField(14)

inputPhone = new JTextField(14)

sexBox = new JComboBox(item)

save = new JButton("储存")

save.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

if(inputName.getText().equals("") || inputPhone.getText().equals("")) {

return

}

try {

File f = new File("info.txt")

BufferedWriter bw = new BufferedWriter(new FileWriter(f, true))

if(f.length() == 0){

bw.write("姓名\t性别\t手机号")

bw.newLine()

}

String str = inputName.getText()+"\t"+sexBox.getSelectedItem()+"\t"+inputPhone.getText()

bw.write(str)

bw.newLine()

bw.close()

} catch (Exception ex) {

}

}

})

getContentPane().setBackground(Color.WHITE)

getContentPane().add(Box.createHorizontalStrut(5))

getContentPane().add(name)

getContentPane().add(inputName)

getContentPane().add(phone)

getContentPane().add(inputPhone)

getContentPane().add(Box.createHorizontalStrut(35))

getContentPane().add(sex)

getContentPane().add(sexBox)

getContentPane().add(Box.createHorizontalStrut(35))

getContentPane().add(save)

setLocationRelativeTo(null)

setVisible(true)

setDefaultCloseOperation(3)

}

public static void main (String[] args) {

new Test()

}

}

希望能帮助你哈


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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存