import javax.swing.*;
成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供宜都企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站建設(shè)、成都網(wǎng)站制作、HTML5建站、小程序制作等業(yè)務(wù)。10年已為宜都眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。
import java.awt.*;
public class test extends JFrame{
public test(){
JButton button; //按鈕
JLabel label; //標(biāo)簽
JComboBox combobox;//下拉菜單
JCheckBox checkbox;//復(fù)選框
JRadioButton radiobutton;//單選框
JTextField textfield;//文本框
button = new JButton("按鈕");
label = new JLabel("標(biāo)簽:");
checkbox = new JCheckBox("復(fù)選框一");
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);
至于這個框的大小,你再調(diào)調(diào)哈,相互學(xué)習(xí)~,三年沒做過了~
你好!很高興為你解答。
首先,你打開這個登錄窗口之后,你要求它能夠播放音樂,你就在你啟動的JFrame主線程main構(gòu)造并顯示完成JFrame后,新建一個方法叫做this.playBgMusic();
這里解釋一下,為什么叫你在啟動JFrame主線程中調(diào)用這個方法而不是在你的QQLoinFrame的構(gòu)造方法中調(diào)用,原因是Swing的處理機(jī)制原理是利用EventQueue來執(zhí)行的,可以說,如果你直接new的話都是單線程(main)處理程序,這樣的話就會對這個線程依賴過大,而這個線程也負(fù)荷過大。當(dāng)你想啟動播放音樂或者IO讀寫之類的耗時線程時,你可以試試在構(gòu)造方法中執(zhí)行這方法,你將會發(fā)現(xiàn)你的Swing程序沒反應(yīng),要等某線程處理完后才可以繼續(xù)顯示。這里main線程阻塞,所以你的程序表面看起來不動,組件沒反應(yīng),這就是因?yàn)樽枞袅恕=鉀Q這個問題的辦法就是如下(這是其中一種,另一種你可以自行查找):
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
QQLogin qq = new QQLogin();
this.playBgMusic();
}
});
}
*********************************************正文********************************************************
假設(shè),你啟動JFrame的主方法如下:
public static void main(String[] args) {
QQLogin qq = new QQLogin();
this.playBgMusic();
}
*******************************************this.playBgMusic()方法*********************************************
/**
*播放背景音樂,調(diào)用PlaySound線程類
/
public void playBgMusic() {
PlaySound play = new PlaySound();
Thread t = new Thread(play);
t.start();
}
*******************************************PlaySound線程類********************************************
/**
*PlaySound線程類,其中,因?yàn)槟阋蟛皇褂肑MF,所以,請選擇.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、首先,我們需要在代碼中導(dǎo)入相應(yīng)的包,以便能夠使用 JFrame 類。然后,新建一個窗口類繼承自 JFrame 類。
2、在窗口類中創(chuàng)建一個初始化方法,我們需要在該方法中初始化窗口類對象,并將其顯示出來。
3、對窗口對象進(jìn)行初始化時,我們先設(shè)置好窗口的標(biāo)題。
4、再設(shè)置窗口的大小,參數(shù)分別為窗口的長和寬,單位是像素。
5、接著設(shè)置窗口左上角的坐標(biāo)位置,以確定窗口的位置。參數(shù)分別為窗口左上角頂點(diǎn)的 x 坐標(biāo)和 y 坐標(biāo)。
6、最后,調(diào)用 setVisible 方法將窗口顯示出來。參數(shù)為 true 表示顯示,為 false 表示隱藏。
7、窗口類寫好后,我們在 main 方法中創(chuàng)建一個窗口類對象,然后調(diào)用該對象的初始化方法就可以將窗口顯示出來了。