『壹』 java圖形界面設計問題
要弄清楚是圖形界面還是一般的圖片資源?
api 里是不帶音樂、圖片這類資源文件的,你 setImage 之類的方法就是選取的本地文件。這個不用多說了。
但是如果你是要改界面元素的話,swing 庫的圖形界面是 Java 自繪的,界面畫成什麼樣是由 LookAndFeels 類決定的。你可以用默認的幾個 LookAndFeels,也可以從網上下載別人做的包,你也可以自己做。
如果你要自己畫 LookAndFeels 的話,你要知道你畫的是控制項。作為一個完整的界麵包,窗體的模樣、最小化、最大化、還原、關閉 四個控制按鈕、其他的如按鈕、靜態文本、動態文本、畫布等等,只要 swing 庫中有的那些控制項類你都要實現。包括按鈕焦點、按下、滑鼠經過的樣子都需要畫出來。
『貳』 java圖形界面編程
執行java Applt小程序不是這樣運行的。你必須建一個html文件,然後在輸入
<applet code="ButtonDemo.class"
width=320 height=180>
</applet>
其中code是你編譯ButtonDemo類是生成的class文件。然後在cmd中找到html文件所在的路徑下輸入appletviewer xxx.html
就可以運行了
『叄』 java圖形API是指什麼
編出來的java程序在虛擬機上運行,沒有虛擬機,java運行不了,api是開發java用的,可以理解成一本字典,寫程序離不了,除非不幹了,比如你想對一堆亂七八糟的數字排順序,調用api裡面的sort方法就排好了
『肆』 怎樣用java編寫圖形界面的Application程序
java編寫圖形界面需要用到swing等組件,可以在eclipse中安裝windowbuilder來開發窗體,自動生成窗體代碼,然後自己再根據需要修改,如:
package mainFrame;
import java.awt.EventQueue;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.UIManager;
import javax.swing.;
import javax.swing.border.EmptyBorder;
public class Mian_login extends JFrame {
private JPanel contentPane;
private JTextField text_LoginName;
private JPasswordField Login_password;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
Mian_login frame = new Mian_login();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Mian_login() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(500, 200, 443, 300);
setResizable(false);
setTitle("登 錄");
/*獲取系統按鈕樣式*/
String lookAndFeel = UIManager.getSystemLookAndFeelClassName();
try {
UIManager.setLookAndFeel(lookAndFeel);
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
} catch (InstantiationException e1) {
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
} catch ( e1) {
e1.printStackTrace();
}
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JPanel panel = new JPanel();
panel.setOpaque(false);
panel.setBounds(0, 0, 434, 272);
contentPane.add(panel);
panel.setLayout(null);
JButton btn_Login = new JButton("u767Bu5F55");
btn_Login.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
}
});
btn_Login.setBounds(88, 195, 70, 23);
panel.add(btn_Login);
JButton btn_cancel = new JButton("u53D6u6D88");
btn_cancel.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
dispose();
}
});
btn_cancel.setBounds(268, 195, 70, 23);
panel.add(btn_cancel);
JLabel lblNewLabel_name = new JLabel("u7528u6237u540D");
lblNewLabel_name.setHorizontalAlignment(SwingConstants.CENTER);
lblNewLabel_name.setOpaque(true);
lblNewLabel_name.setBounds(88, 48, 70, 23);
panel.add(lblNewLabel_name);
JLabel lblNewLabel_passwd = new JLabel("u5BC6u7801");
lblNewLabel_passwd.setHorizontalAlignment(SwingConstants.CENTER);
lblNewLabel_passwd.setOpaque(true);
lblNewLabel_passwd.setBounds(88, 102, 70, 23);
panel.add(lblNewLabel_passwd);
JCheckBox chckbx_remember = new JCheckBox("u8BB0u4F4Fu5BC6u7801");
chckbx_remember.setBounds(102, 150, 84, 23);
panel.add(chckbx_remember);
text_LoginName = new JTextField();
text_LoginName.setBounds(182, 48, 156, 23);
panel.add(text_LoginName);
text_LoginName.setColumns(10);
Login_password = new JPasswordField();
Login_password.setBounds(182, 102, 156, 23);
panel.add(Login_password);
JCheckBox chckbx_AutoLogin = new JCheckBox("u81EAu52A8u767Bu5F55");
chckbx_AutoLogin.setBounds(233, 150, 84, 23);
panel.add(chckbx_AutoLogin);
JLabel Label_background = new JLabel("");
Label_background.setIcon(new ImageIcon("E:\JAVA_workplace\0002-u754Cu9762u8BBEu8BA1\images\background3.jpg"));
Label_background.setBounds(0, 0, 437, 272);
contentPane.add(Label_background);
}
}
『伍』 關於java 裡面的api問題編程
如何學習編程:
1. 必須先學習該語言的語法
2.我們要像學習漢語一樣掌握成語一樣掌握大量的API
3.也要學會分析與解決問題。養成良好的編程習慣與風格
java工具軟體的介紹與使用:
sun公司沒有提供圖形化的開發環境,他把開發軟體讓給了合作夥伴。
Borland公司的Jbuilder IBM 的 Visual Age 還有賽門鐵克的Visual cafe 這幾業是很給力的
String類和StringBuffer類:
一個字元串就是一邊串的字元,java定義了String和StringBuffer兩個類 來封裝對字元串的各種操作,它們都被放到了java.lang包中,
不需要用import java.lang這個語句導入就可以直接使用他們了
String類用於比較兩個字元串,查找和抽取串中的字元或子串、【字元串與其他類型之間相互轉換等 String類中的內容一旦被初始化就不能再改變。
StringBuffer類用於內容 可以改變的字元串,可以將其他各種類型的數據增加、插入到字元串中,也可以翻轉字元串原來的內容。一旦通過StringBuffer生成最終想要的字元串,就應該使用StringBuffer.toString方法將其轉換成String類,隨後就可能 使用String類的各種方法操縱這個字元串
java為字元串提供了特別的連接操作符(+)可以把其他數據類型的數據轉換成字串。並前後接成新的字元串。連接操作符的功能是通過StringBuffer類和它的append方法實現
String類的構造方法String(buf,0,pos)這個方法把數組buf裡面的值 從0到pos取出,用來創建一個新的String類對象。
String類有幾個比較常用的函數,如equalsIgnoreCase、indexof、substring
equalsIgnoreCase(String anotherString)是在比較兩個字元串時忽略大小寫,將if(strInfo=="bye")改成 if(strInfo.equalsIgnoreCase("bye"))這樣就會輸出bye就退出程序
indexOf(int ch)方法是用來返回一個字元串中的首次出現的位置,如果沒有這個字元則返回-1.
它的另一種形式indexOf(int ch, int fro,Index)返回 的是從fromIndex指定的數值開始ch字元首次出現的位置該方法可以應用於文件和資料庫內容的查找等 功能。
String str="hello world";
System.out.println(str.indexof('o'));//列印結果是4
String str="hello world";
System.out.println(str.indexOf('o',6));//結果是7
indexOf還有其他幾種形式
indexOf(String str)
indexOf(String str,int fromIndex)
subString(int beginIndex)方法返回的是一個字元串中從beginIndex指定數值到末尾的一個字元串,如果beginIndex指定的數值超過當前字元串的長度,則返回一個空字元串
這個方法也有另一種形式substring(int beginIndex,int endIndex)返回 的是當前字元串中從beginIndex開始 到endIndex-1結束的一個字元串
String類中的replace和toUpperCase方法不能改變字元串的內容?與String類對象的內容一旦被初始化就不能再改變不矛盾么?
它們返回類型都是String類,即生成一個新的字元串,而不是改變原來的字元串內容。
基本數據類型的對象包裝類:
java對數據即提供基本數據的簡單類型,也提供了相應的包裝類使用基本簡單數據類型,可以改善系統的性能。
java中很多類參數類型都是object即這些方法接收的參數都 是對象 ,同時,當要使用這些方法來處理基本功數據類型的數據,【這就是包裝類
包裝類對象在進行基本數據類型的類型轉換時也特別有用。比如整數與字元串之間的轉換
列印一個矩形
附上出處鏈接:http://blog.csdn.net/rensongling/article/details/7664188
『陸』 Java圖形用戶界面編程
我給你寫,已經測試,你看合不合你的意思
package dongzi.pattern;
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.JPanel;
import javax.swing.JTextField;
public class SumTest extends JPanel{
JTextField mem[] = new JTextField[10] ;
JButton sumButton = new JButton("SUM") ;
JTextField sumText = new JTextField(4) ;
public SumTest() {
setLayout(new FlowLayout()) ;
for (int i = 0; i < 10; i++) {
mem[i] = new JTextField(4) ;
add(mem[i]) ;
}
add(sumButton) ;
add(sumText) ;
sumButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
int sum = 0 ;
for (int i = 0 ;i < 10; i++) {
sum += Integer.parseInt(mem[i].getText().trim()) ;
}
sumText.setText(String.valueOf(sum)) ;
}
}) ;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame frame = new JFrame() ;
SumTest test = new SumTest() ;
frame.add(test) ;
frame.setSize(800, 100) ;
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ;
frame.setVisible(true) ;
}
}
『柒』 JAVA的圖形界面API底層是調用了操作系統的API實現的嗎
現在主流的三個java圖形界面庫實現方式不同:
(1) awt直接調用操作系統的api。
(2) swing的圖形界面自己繪制
(3) swt的圖形界面會先去尋找操作系統有沒有提供這個組件,如果沒有,則自己繪制一個,有的話直接調用。
『捌』 java中API 和Swing分別表示什麼意思
API(Application Programming Interface應用編程介面)是sun公司為java程序員發布的一個類庫,sun公司在其中提供了編程常用的類和介面,這些類和介面分布在各個包中,並以樹狀層次結構組織起來,sun公司負責維護該類庫。Swing是這個類庫中的一個包,swing是基於awt之上的,但swing是輕量級的,而awt卻是重量級的,這是swing優於awt的地方,swing和awt均用於圖形用戶界面編程。
『玖』 java常用api有哪些
Java常用API包括如下:
Java集合(位於java.util包下)
Java資料庫編程zhuan(位於java.sql和javax.sql包行下shu),
Java輸入輸出(位於java.io和java.nio包下),
Java圖形界面編程(位於java.awt包和javax.swing包下),
Java國際化和格式化(位於java.text包下),
Java多線程編程(位於java.concurrent包下),
Java網路編程編程(位於java.net包下)