㈠ MYeclipse如何畫java圖形用戶界面,在哪裡創建界面的
不知道你創建圖形界面有沒有什麼特別的要求,如果是用swing的話,直接寫java類就可以了,和建立普通的java工程然後再寫java類並沒什麼特別的不同。下面我就舉一個簡單的swing圖形界面的例子。
首先新建一個項目,然後建個包,就是普通的java工程的構建方法。再建一個Test類,復制下面的代碼,保證包名正確,再運行就可以得到一個圖形用戶界面了。這個界面上的move按鈕可以響應上下左右鍵。
packagetest;
//包名換成你自己的包名
importjava.awt.event.KeyEvent;
importjava.awt.event.KeyListener;
importjavax.swing.JButton;
importjavax.swing.JFrame;
publicclassTestextendsJFrame{
/**
*
*/
=1L;
publicTest(){
finalJButtonbutton=newJButton("move");
button.setSize(70,30);
button.setLocation(100,100);
button.addKeyListener(newKeyListener(){
@Override
publicvoidkeyTyped(KeyEvente){
}
@Override
publicvoidkeyReleased(KeyEvente){
}
@Override
publicvoidkeyPressed(KeyEvente){
if(e.getKeyCode()==KeyEvent.VK_UP){
button.setLocation(button.getX(),button.getY()-1);
}elseif(e.getKeyCode()==KeyEvent.VK_DOWN){
button.setLocation(button.getX(),button.getY()+1);
}elseif(e.getKeyCode()==KeyEvent.VK_LEFT){
button.setLocation(button.getX()-1,button.getY());
}elseif(e.getKeyCode()==KeyEvent.VK_RIGHT){
button.setLocation(button.getX()+1,button.getY());
}
}
});
this.setLayout(null);
this.add(button);
this.setSize(300,200);
this.setLocationRelativeTo(null);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
publicstaticvoidmain(String[]args){
Testtest=newTest();
}
}
swing的圖形用戶界面最主要的就是JFame這個類,你可以自己去繼承這個類,然後在上面添加JPanel, JButton, JLabel等等組件(具體用法建議自己查看API)。這樣就可以豐富和完善你的圖形用戶界面了。
㈡ java圖形界面(GUI)
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
public class Window extends Frame{
Button button1 = new Button("開始");
Button button2 = new Button("結束");
TextField textfield = new TextField();
static Random random = new Random();
String string = null;
boolean bstart = false;
Thread thread;
public void launchFrame() {
.setLocation(500, 200);
this.setLayout(new BorderLayout());
this.add(button1, new BorderLayout().WEST);
this.add(button2, new BorderLayout().EAST);
this.add(textfield, new BorderLayout().NORTH);
button1.addActionListener(new Button1Listener());
button2.addActionListener(new Button2Listener());
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
pack();
setVisible(true);
}
private class Button1Listener implements ActionListener {
public void actionPerformed(ActionEvent e) {
bstart = true;
thread = new Thread(new NumProce());
thread.start();
}
}
private class Button2Listener implements ActionListener {
public void actionPerformed(ActionEvent e) {
bstart = false;
}
}
private class NumProce implements Runnable {
private void numproce() {
string = Integer.toString(random.nextInt()); /*nextint的括弧中處可以修改產生隨機數的范圍*/
textfield.setText(string);
}
public void run() {
while(bstart) {
try {
numproce();
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
new Window().launchFrame();
}
}
㈢ 用Java語言設計一個界面,
首先:採用什麼技術實現
java語言可以使用awt 和swing等技術實現圖形界面
推薦使用Swing,因為Swing比AWT更專業,更漂亮,組件更豐富,功能更強大。
2. 其次:分析採用什麼布局
邊界布局BorderLayout,配合表格布局GridLayout,既簡單又美觀
3. 最後:分析需求中需要用的組件
學生姓名 學號 顯示信息 需要用到文本框JTextField
單選按鈕 需要用到組件JRadioButton
復選框 需要用到組件JCheckBox
組合框 需要用到組件JComboBox
圖片效果
//導入所需要的包
importjava.awt.event.*;
importjavax.swing.border.*;
importjavax.swing.*;
importjava.awt.*;
{//寫一個類繼承自JFrame窗體
//定義組件
=1L;
privateJPanelcontentPane;
privateJTextFieldtfName,tfNum,allInfo;
privateJRadioButtonrb1,rb2;
privateJCheckBoxcb1,cb2,cb3;
privateJComboBox<String>t1,t2,t3;
publicstaticvoidmain(String[]args){
EventQueue.invokeLater(newRunnable(){
publicvoidrun(){
try{
ClassFrameframe=newClassFrame();//創建一個窗口實例
frame.setVisible(true);//讓該窗口實例可見
}catch(Exceptione){
e.printStackTrace();
}
}
});
}
/**
*窗口屬性的設置,內部組件的初始化
*/
publicClassFrame(){
setTitle("選課ing...");//標題
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//設置關閉是退出JVM
setSize(450,339);//設置窗體大小
setLocationRelativeTo(null);//窗體居中
contentPane=newJPanel();//內容面板
contentPane.setBorder(newEmptyBorder(5,5,5,5));
contentPane.setLayout(newBorderLayout(0,0));//設置布局
setContentPane(contentPane);
JPanelpanel=newJPanel(newGridLayout(5,1,5,10));//5行1列的表格布局
panel.setBorder(newTitledBorder(null,"",TitledBorder.LEADING,TitledBorder.TOP,null,null));
contentPane.add(panel,BorderLayout.CENTER);//給panel添加邊框
JPanelpanel_1=newJPanel();
panel.add(panel_1);
JLabellabel=newJLabel("姓名");
panel_1.add(label);
tfName=newJTextField();
panel_1.add(tfName);
tfName.setColumns(10);
JLabellabel_2=newJLabel("學號");
panel_1.add(label_2);
tfNum=newJTextField();
tfNum.setColumns(10);
panel_1.add(tfNum);
rb1=newJRadioButton("男");
panel_1.add(rb1);
rb1.setSelected(true);//設置單選按鈕中,默認選擇的按鈕
rb2=newJRadioButton("女");
panel_1.add(rb2);
ButtonGroupbts=newButtonGroup();//單選按鈕需要加入同一個ButonGroup中才能生效
bts.add(rb1);
bts.add(rb2);
JPanelpanel_2=newJPanel();
panel.add(panel_2);
cb1=newJCheckBox("高等數學");
panel_2.add(cb1);
t1=newJComboBox<String>();
t1.setModel(newDefaultComboBoxModel<String>(newString[]{"林老師","趙老師","孫老師"}));
panel_2.add(t1);
JPanelpanel_3=newJPanel();
panel.add(panel_3);
cb2=newJCheckBox("世界經濟");
panel_3.add(cb2);
t2=newJComboBox<String>();
t2.setModel(newDefaultComboBoxModel<String>(newString[]{"張老師","劉老師"}));
panel_3.add(t2);
JPanelpanel_4=newJPanel();
panel.add(panel_4);
cb3=newJCheckBox("音樂賞析");
panel_4.add(cb3);
t3=newJComboBox<String>();
t3.setModel(newDefaultComboBoxModel<String>(newString[]{"王老師","周老師"}));
panel_4.add(t3);
JPanelpanel_5=newJPanel();
panel.add(panel_5);
JButtonjbOk=newJButton("確定");
panel_5.add(jbOk);
JButtonjbRest=newJButton("重填");
panel_5.add(jbRest);
JPanelpanelSouth=newJPanel();
contentPane.add(panelSouth,BorderLayout.SOUTH);
JLabellabe=newJLabel("選課信息");
labe.setHorizontalAlignment(SwingConstants.LEFT);
panelSouth.add(labe);
allInfo=newJTextField();
allInfo.setColumns(30);
panelSouth.add(allInfo);
JPanelpanelNorth=newJPanel();
contentPane.add(panelNorth,BorderLayout.NORTH);
JLabellabelTitle=newJLabel("學生選課界面");
labelTitle.setForeground(Color.DARK_GRAY);
labelTitle.setFont(newFont("宋體",Font.BOLD,20));
panelNorth.add(labelTitle);
//給確定按鈕添加事件處理代碼
jbOk.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
StringBuilderinfo=newStringBuilder();
Stringname=tfName.getText();
Stringnum=tfNum.getText();
Stringsex;
if(rb1.isSelected()){
sex="男";
}else{
sex="女";
}
info.append(name+num+sex);
if(cb1.isSelected()){
Stringc=cb1.getText();
Stringt=t1.getSelectedItem().toString();
info.append(""+c+t);
}
if(cb2.isSelected()){
Stringc=cb2.getText();
Stringt=t2.getSelectedItem().toString();
info.append(""+c+t);
}
if(cb3.isSelected()){
Stringc=cb3.getText();
Stringt=t3.getSelectedItem().toString();
info.append(""+c+t);
}
allInfo.setText(info.toString());//把學生信息和選課信息放到文本框
}
});
//給重填按鈕設置事件處理代碼
jbRest.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
tfName.setText("");
tfNum.setText("");
rb1.setSelected(true);
cb1.setSelected(false);
t1.setSelectedIndex(0);
cb2.setSelected(false);
t2.setSelectedIndex(0);
cb3.setSelected(false);
t3.setSelectedIndex(0);
allInfo.setText("");
}
});
}
}
㈣ java涓璼wing鏄浠涔堟剰鎬
Swing鏄疛ava騫沖彴鐨勪竴涓狦UI錛堝浘褰㈢敤鎴風晫闈錛夋嗘灦錛屽畠鎻愪緵浜嗕竴濂椾赴瀵岀殑緇勪歡銆佸竷灞綆$悊鍣ㄥ拰浜嬩歡浣撶郴錛岃兘澶熷揩閫熸惌寤哄悇縐嶇獥鍙e簲鐢ㄧ▼搴忋係wing鐨勪唬鐮佸彲浠ヨ法騫沖彴榪愯岋紝鍥犳ゅ彲浠ヤ繚璇佺▼搴忓湪涓嶅悓鎿嶄綔緋葷粺涓婄殑涓鑷存с
Swing鐨勭壒鐐逛箣涓鏄鍙瀹氬埗鎬ч珮銆傜敤鎴峰彲浠ラ氳繃淇鏀圭粍浠剁殑棰滆壊銆佸瓧浣撱佽竟妗嗙瓑灞炴э紝鑷瀹氫箟紿楀彛鐨勫栬傦紱鍚屾椂錛孲wing鎻愪緵浜嗗緢澶氬睘鎬у拰鏂規硶錛屽彲浠ュ圭粍浠剁殑琛屼負榪涜屽畾鍒躲傚彟涓涓鐗圭偣鏄杞婚噺綰с傜浉姣斾簬AWT錛堟娊璞$獥鍙e伐鍏峰寘錛夛紝Swing涓嶉渶瑕佽皟鐢ㄦ搷浣滅郴緇熺殑鏈鍦癆PI錛岃屾槸瀹屽叏鐢盝ava浠g爜瀹炵幇錛屽洜姝ゆ洿涓虹伒媧伙紝鍚屾椂涔熸洿涓哄崰鐢ㄨ祫婧愬皯銆
Swing騫挎硾搴旂敤浜嶫ava鍥懼艦鐣岄潰寮鍙戙傛棤璁烘槸妗岄潰杞浠惰繕鏄娓告垙寮鍙戱紝Swing閮藉彲浠ユ彁渚涗赴瀵岀殑緇勪歡鍜屽竷灞綆$悊鍣錛屾柟渚垮紑鍙戣呭疄鐜版洿鍔犵編瑙傘佹槗鐢ㄧ殑鐣岄潰銆傚彟澶栵紝鍦ㄤ紒涓氱駭搴旂敤棰嗗煙錛孲wing涔熻鐢ㄦ潵寮鍙戜竴浜涘㈡埛絝搴旂敤紼嬪簭錛屽侲RP銆丆RM絳夈
㈤ java的awt和swing有什麼不同呢
awt和swing的區別:
1.awt是基於本地方法的C/C++程序,其運行速度比較快;
而swing是基於awt的Java程序,其運行速度比較慢。
2.AWT的控制項在不同的平台可能表現不同,而Swing在所有平台表現一致。
3.AWT和Swing的實現原理不同。
AWT的圖形函數與操作系統提供的圖形函數有著一一對應的關系。
而Swing 不僅提供了AWT 的所有功能,還用純粹的Java代碼對AWT的功能進行了大幅度的擴充。
4.awt是抽象窗口組件工具包,是 java 最早的用於編寫圖形節目應用程序的開發包;
但swing是為了解決awt存在的問題而新開發的包,它以awt為基礎的。
在實際應用中,應該使用AWT還是Swing取決於應用程序所部署的平台類型。
對於一個嵌入式應用,目標平台的硬體資源往往非常有限,而應用程序的運行速度又是項目中至關重要的因素。
在這種矛盾的情況下,簡單而高效的AWT當然成了嵌入式Java的第一選擇。
在普通的基於PC或者是工作站的標准Java應用中,硬體資源對應用程序所造成的限制往往不是項目中的關鍵因素。
所以在標准版的Java中則提倡使用Swing, 即通過犧牲速度來實現應用程序的功能。
㈥ 怎樣運行JAVA的圖形界面
如有個為Hello.java的文件
首先運行里輸入cmd
找到你保存的java安裝路徑bin下(也可設置回環境變數答,就可以保存在其他位置,具體怎麼設置好多書上有,如果不知道可以聯系我)
然後輸入javac Hello.java
再輸入java Hello
這樣它就會生成一個叫Hello.class文件
再打開個記事本
輸入下面的代碼:
<html>
<body>
<applet code="Hello.class" height=200 width=300>
</applet>
</body>
</html>
保存在bin目錄下Hello(自定義的).html
再cmd中輸入appletviewer Hello.html就行了