package com.henu.xiao.bar;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
class BarThread extends Thread {
private int DELAY = 100;
private JProgressBar progressBar;// 进度条类
private JButton button;
private boolean flag = true;
public BarThread(JProgressBar bar, JButton button){
progressBar = bar;
this.button = button;//初始化
}
public void run(){
button.setEnabled(false);
int maximum = progressBar.getMaximum();//最大值
while(flag){
try{
Thread.sleep(DELAY);//休眠100
}catch(InterruptedException ignoredException){
}
progressBar.setValue(progressBar.getValue() + 1);
if(progressBar.getValue() >= maximum){//如果拿到值》=最大值
flag = false;
}
}
button.setEnabled(true);
}
}
public class JProgressBarTest {
/**
*
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
final JProgressBar aJProgressBar = new JProgressBar();
aJProgressBar.setStringPainted(true);
final JButton aJButton = new JButton("Start");
aJButton.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
if(aJProgressBar.getValue() >=aJProgressBar.getMaximum()){
aJProgressBar.setValue(0);//事件如果达到最大值
}
Thread stepper = new BarThread(aJProgressBar, aJButton);
stepper.start();//启动线程
}
});
JFrame frame = new JFrame("Progress Bars");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(aJProgressBar, BorderLayout.NORTH);
frame.add(aJButton, BorderLayout.SOUTH);
frame.setSize(300,100);
frame.setVisible(true);
}
}
package com.henu.xiao.bar;
import java.awt.BorderLayout;
import java.net.URL;
import javax.swing.*;
public class JToolBarTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
JToolBar bar = new JToolBar();
JButton button1,button2,button3;
URL url1 = Thread.currentThread().getContextClassLoader().getResource("image_1.jpg");
URL url2 = Thread.currentThread().getContextClassLoader().getResource("image_2.jpg");
URL url3 = Thread.currentThread().getContextClassLoader().getResource("image_3.jpg");
button1 = new JButton(new ImageIcon(url1));
button1.setToolTipText("向前");
button2 = new JButton(new ImageIcon(url2));
button2.setToolTipText("向上");
button3 = new JButton(new ImageIcon(url3));
button3.setToolTipText("向后");
bar.add(button1);
bar.add(button2);
bar.add(button3);
//设置是否可以浮动
bar.setFloatable(true);
JFrame frame = new JFrame();
frame.setTitle("JToolBar 工具条");
frame.add(bar, BorderLayout.NORTH);
frame.add(new JTextArea(), BorderLayout.CENTER);
frame.setSize(400, 400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
package com.henu.xiao.bar;
import java.net.URL;
import javax.swing.*;
public class JTabbedPaneTest extends JFrame {
public JTabbedPaneTest(){
JTabbedPane tabPane = new JTabbedPane();//创建选项窗格
tabPane.setTabPlacement(JTabbedPane.TOP);//设定选项卡放在上部
ClassLoader loader = Thread.currentThread().getContextClassLoader();
//创建一个StockPanel面板并添加到选项窗格,这是指定图标的方法
JPanel stockPanel = new JPanel();
URL iconURL = loader.getResource("com/henu/xiao/images/left.png");
tabPane.addTab("选项卡1", new ImageIcon(iconURL),stockPanel);
JPanel importPanel = new JPanel ();
URL iconURL2 = loader.getResource("com/henu/xiao/images/right.png");
tabPane.addTab("选项卡2", new ImageIcon(iconURL2),importPanel);
//创建一个不指定图标的选项卡
JPanel saledPanel = new JPanel();
tabPane.addTab("选项卡3", saledPanel);
//选择第二个选项页为当前选择的选项页
tabPane.setSelectedIndex(1);
//将选项窗格放置在面板中
this.add(tabPane);
this.setBounds(200, 200, 400, 300);
this.setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String args[]){
JTabbedPaneTest jp = new JTabbedPaneTest();
jp.setTitle("JTabbedPane选项卡");
jp.setVisible(true);
}
}
package com.henu.xiao.bar;
import java.awt.BorderLayout;
import javax.swing.*;
import javax.swing.table.TableColumn;
public class JTableTest {
public static void main(String[] args) {
Object[][] datas = {
{ "张三" , new Integer(66), "男"},
{ "李四" , new Integer(86), "男"},
{ "王五" , new Integer(66), "男"},
{ "赵六" , new Integer(646), "男"},
{ "钱七" , new Integer(6456), "男"},
{ "孙八" , new Integer(626), "男"},
{ "黄十" , new Integer(626), "男"}
};
String [] titles = { "姓名", "年龄", "性别" };
JTable table = new JTable(datas, titles );
//设置列高
TableColumn column = null;
for(int i = 0 ;i<3; i++){
column = table.getColumnModel().getColumn(i);
if((i%2)== 0){
column.setPreferredWidth(150);
}else{
column.setPreferredWidth(50);
}
}
JScrollPane scrollPane = new JScrollPane(table);
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().add(scrollPane, BorderLayout.CENTER);
f.setTitle("表格示例");
f.setBounds(200, 200, 500, 200);
f.setVisible(true);
}
}