javase进度条、工具条、选项卡、表格

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);
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值