import javax.swing.*;
成都创新互联公司是一家专业提供宜都企业网站建设,专注与网站建设、成都网站制作、HTML5建站、小程序制作等业务。10年已为宜都众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
import java.awt.*;
public class test extends JFrame{
public test(){
JButton button; //按钮
JLabel label; //标签
JComboBox combobox;//下拉菜单
JCheckBox checkbox;//复选框
JRadioButton radiobutton;//单选框
JTextField textfield;//文本框
button = new JButton("按钮");
label = new JLabel("标签:");
checkbox = new JCheckBox("复选框一");
radiobutton = new JRadioButton("单选框一");
combobox = new JComboBox();
textfield = new JTextField(100);
Container c = this.getContentPane();
c.setLayout(new FlowLayout());
c.add(button);
c.add(label);
c.add(checkbox);
c.add(radiobutton);
combobox.addItem("1");
combobox.addItem("2");
c.add(combobox);
c.add(textfield);
setSize(300, 200);
setVisible(true);
}
public static void main(String[] args) {
// TODO 自动生成方法存根
test mytest = new test();
}
}
代码缺一行:
。。。
authorTextArea.setPreferredSize(new Dimension(40, 80));
authorFrame.add(authorTextArea);
。。。
以上完了后,需要加一个
authorFrame.setVisible(true);
至于这个框的大小,你再调调哈,相互学习~,三年没做过了~
你好!很高兴为你解答。
首先,你打开这个登录窗口之后,你要求它能够播放音乐,你就在你启动的JFrame主线程main构造并显示完成JFrame后,新建一个方法叫做this.playBgMusic();
这里解释一下,为什么叫你在启动JFrame主线程中调用这个方法而不是在你的QQLoinFrame的构造方法中调用,原因是Swing的处理机制原理是利用EventQueue来执行的,可以说,如果你直接new的话都是单线程(main)处理程序,这样的话就会对这个线程依赖过大,而这个线程也负荷过大。当你想启动播放音乐或者IO读写之类的耗时线程时,你可以试试在构造方法中执行这方法,你将会发现你的Swing程序没反应,要等某线程处理完后才可以继续显示。这里main线程阻塞,所以你的程序表面看起来不动,组件没反应,这就是因为阻塞掉了。解决这个问题的办法就是如下(这是其中一种,另一种你可以自行查找):
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
QQLogin qq = new QQLogin();
this.playBgMusic();
}
});
}
*********************************************正文********************************************************
假设,你启动JFrame的主方法如下:
public static void main(String[] args) {
QQLogin qq = new QQLogin();
this.playBgMusic();
}
*******************************************this.playBgMusic()方法*********************************************
/**
*播放背景音乐,调用PlaySound线程类
/
public void playBgMusic() {
PlaySound play = new PlaySound();
Thread t = new Thread(play);
t.start();
}
*******************************************PlaySound线程类********************************************
/**
*PlaySound线程类,其中,因为你要求不使用JMF,所以,请选择.au或者.wav格式吧
/
public class PlaySound implements Runnable{
public void run() {
try {
AudioClip audio;
URL url = null;
File musicFile = new File("msg.wav");
URI uri = musicFile.toURI();
url = uri.toURL();
audio = Applet.newAudioClip(url);
audio.play();
} catch (MalformedURLException ex) {
Logger.getLogger(PlayMsgSound.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
1、首先,我们需要在代码中导入相应的包,以便能够使用 JFrame 类。然后,新建一个窗口类继承自 JFrame 类。
2、在窗口类中创建一个初始化方法,我们需要在该方法中初始化窗口类对象,并将其显示出来。
3、对窗口对象进行初始化时,我们先设置好窗口的标题。
4、再设置窗口的大小,参数分别为窗口的长和宽,单位是像素。
5、接着设置窗口左上角的坐标位置,以确定窗口的位置。参数分别为窗口左上角顶点的 x 坐标和 y 坐标。
6、最后,调用 setVisible 方法将窗口显示出来。参数为 true 表示显示,为 false 表示隐藏。
7、窗口类写好后,我们在 main 方法中创建一个窗口类对象,然后调用该对象的初始化方法就可以将窗口显示出来了。