CODE :
package thanhcs_bai17;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.lang.reflect.Array;
import java.util.ArrayList;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
import javax.swing.border.TitledBorder;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
public class Bai17_Jlist_checkbox extends JFrame implements ActionListener, ListSelectionListener{
JButton btntodenchan, btntodenle,btntodennt, btnboden, btnxoatoden,btntonggtlist, btnthoat, btnnhap;
JTextField jtxt;
JCheckBox jcheckam;
DefaultListModel modelList;
JList mJlist;
int select[] = null;
public Bai17_Jlist_checkbox() {
setLayout(new BorderLayout());
JPanel jptitle = new JPanel();
JPanel jpbotton = new JPanel();
JPanel jpControl = new JPanel();
JPanel jplist = new JPanel();
jplist.setLayout(new BorderLayout());
jpControl.setBorder(new TitledBorder(BorderFactory.createLineBorder(Color.RED),"Control"));
jplist.setBorder(new TitledBorder(BorderFactory.createLineBorder(Color.BLUE),"Jlist"));
jptitle.setBorder(new TitledBorder(BorderFactory.createLineBorder(Color.CYAN),"title"));
jpbotton.setBorder(new TitledBorder(BorderFactory.createLineBorder(Color.ORANGE),"bottom"));
//title
jptitle.add(new JLabel("Thao tac Jlist - Checkboox"));
//botton
jpbotton.add(btnthoat = new JButton("Thoat Chuong Trinh"));
btnthoat.addActionListener(this);
//control
jpControl.setLayout(new BoxLayout(jpControl, BoxLayout.Y_AXIS));
// btntodenchan, btntodenle,btntodennt, btnboden, btnxoatoden, btntonggtlist
jpControl.add(Box.createVerticalStrut(30));
jpControl.add(btntodenchan= new JButton("To den so chan"));
jpControl.add(Box.createVerticalStrut(10));
jpControl.add(btntodenle= new JButton("To den so le"));
jpControl.add(Box.createVerticalStrut(10));
jpControl.add(btntodennt= new JButton("To den so nguyen to"));
jpControl.add(Box.createVerticalStrut(10));
jpControl.add(btnboden= new JButton("Bo to den"));
jpControl.add(Box.createVerticalStrut(10));
jpControl.add(btnxoatoden= new JButton("Xoa cac gia tri dang to den"));
jpControl.add(Box.createVerticalStrut(10));
jpControl.add(btntonggtlist= new JButton("Tong gia tri trong jlist"));
btntodenchan.setMaximumSize(btnxoatoden.getPreferredSize());
btntodenle.setMaximumSize(btnxoatoden.getPreferredSize());
btntodennt.setMaximumSize(btnxoatoden.getPreferredSize());
btnboden.setMaximumSize(btnxoatoden.getPreferredSize());
btntonggtlist.setMaximumSize(btnxoatoden.getPreferredSize());
btntodenchan.addActionListener(this);
btntodenle.addActionListener(this);
btntodennt.addActionListener(this);
btnboden.addActionListener(this);
btntonggtlist.addActionListener(this);
btnxoatoden.addActionListener(this);
//jlist
//jplist
jplist.setLayout(new BorderLayout());
JPanel jp1 = new JPanel();
jp1.add(jtxt = new JTextField(4));
jp1.add(btnnhap = new JButton("Nhap"));
jp1.add(jcheckam = new JCheckBox("Nhap so amm"));
btnnhap.addActionListener(this);
jcheckam.addActionListener(this);
jplist.add(jp1, BorderLayout.NORTH);
modelList = new DefaultListModel();
modelList.addElement("1"); //sample to test
modelList.addElement("3");
modelList.addElement("4");
modelList.addElement("7");
modelList.addElement("9");
modelList.addElement("11");
modelList.addElement("10");
mJlist = new JList(modelList);
mJlist.addListSelectionListener(this);
mJlist.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
jplist.add(new JScrollPane(mJlist));
add(jpControl, BorderLayout.WEST);
add(jplist, BorderLayout.CENTER);
add(jptitle, BorderLayout.NORTH);
add(jpbotton, BorderLayout.SOUTH);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(600, 500);
setResizable(false);
setLocationRelativeTo(null);
}
public static void main(String[] args) {
new Bai17_Jlist_checkbox();
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==btnthoat)
{
System.exit(0);
}
if(e.getSource()==btnnhap)
{
int temp = 0 ;
// int check
try {
temp = Integer.parseInt(jtxt.getText().toString());
if(jcheckam.isSelected()==true)
{
modelList.addElement(temp);
jtxt.setText("");
}
else
{
if(temp>=0)
{
modelList.addElement(temp);
jtxt.setText("");
}
else
{
JOptionPane.showMessageDialog(this, "khong duoc phep nhap so am", "Canh bao", JOptionPane.ERROR_MESSAGE);
}
}
} catch (Exception e2) {
if(jtxt.getText().equalsIgnoreCase(""))
{
JOptionPane.showMessageDialog(this, "Khong duoc de trong", "Canh Bao", JOptionPane.ERROR_MESSAGE);
}
else
{
JOptionPane.showMessageDialog(this, "Khong phai so", "Canh Bao", JOptionPane.ERROR_MESSAGE);
}
jtxt.setText("");
}
}
if(e.getSource()==btntonggtlist)
{
if(modelList.size()==0)
{
JOptionPane.showMessageDialog(this, "List Rong", "Warring", JOptionPane.WARNING_MESSAGE);
}
else
{
int tong = 0;
for(int i = 0 ; i < modelList.size() ; i++)
{
int t = Integer.parseInt(modelList.get(i).toString());
tong += t;
}
JOptionPane.showMessageDialog(this, "Tong Jlist = " + tong);
}
}
if(e.getSource()==btntodenchan)
{
select = getMangBoiden("chan");
mJlist.setSelectedIndices(select);
}
if(e.getSource()==btntodenle)
{
select = getMangBoiden("le");
mJlist.setSelectedIndices(select);
}
if(e.getSource()==btntodennt)
{
select = getMangBoiden("nguyento");
mJlist.setSelectedIndices(select);
}
if(e.getSource()==btnboden)
{
if(mJlist.getSelectedIndex()==-1)
{
JOptionPane.showMessageDialog(this, "Chua chon muc nao", "Canh bao", JOptionPane.WARNING_MESSAGE);
}
else
{
mJlist.removeSelectionInterval(select[0], select[select.length-1]);
}
}
if(e.getSource()==btnxoatoden)
{
for(int i = 0 ; i < select.length;i++)
{
modelList.removeElement(mJlist.getSelectedValue());
}
}
}
private int[] getMangBoiden(String string) {
ArrayList<Integer> arrInt = new ArrayList<Integer>();;
//neu chan
if(string.equalsIgnoreCase("chan"))
{
for(int i = 0 ; i < modelList.size() ; i++)
{
int temp = Integer.parseInt(modelList.get(i).toString());
if(temp%2==0)
{
arrInt.add(i);
}
}
select = new int[arrInt.size()];
for(int i = 0 ; i < arrInt.size(); i++)
{
select[i] =arrInt.get(i);
}
}
//get ds le
if(string.equalsIgnoreCase("le"))
{
for(int i = 0 ; i < modelList.size() ; i++)
{
int temp = Integer.parseInt(modelList.get(i).toString());
if(temp%2==1)
{
arrInt.add(i);
}
}
select = new int[arrInt.size()];
for(int i = 0 ; i < arrInt.size(); i++)
{
select[i] =arrInt.get(i);
}
}
///nguyen to
if(string.equalsIgnoreCase("nguyento"))
{
for(int i = 0 ; i < modelList.size() ; i++)
{
int temp = Integer.parseInt(modelList.get(i).toString());
if(kiemTraNguyenTo(temp)==true)
{
arrInt.add(i);
}
}
select = new int[arrInt.size()];
for(int i = 0 ; i < arrInt.size(); i++)
{
select[i] =arrInt.get(i);
}
}
return select;
}
private boolean kiemTraNguyenTo(int temp) {
int dem=0;
for(int i = 1 ; i <= temp ; i++)
{
if(temp%i==0)
{
dem++;
}
}
if(dem==2)
return true;
return false;
}
public boolean NhapSoAm()
{
if(jcheckam.isSelected()==false)
{
return false;
}
return true;
}
@Override
public void valueChanged(ListSelectionEvent e) {
}
}
No comments:
Post a Comment