Hello po TPC. Magpapatulong po sana ako about sa java programming namin. Di po kasi ako ganun ka galing sa programming e T_T. Java GUI po sya. Anyone who can continue or help me, I super duper thank you po. So eto po yung case, pipili po yung user sa dalawang choice either 2 or 3 variable (wc is natapos ko na), then after choosing, pipili po yung user if anong logical connective yung gagamitin (note: and, or, and not) lang po yung gagamitin. and after ng dalawang pag pili nya sa variable and connective, mag eenter po sya sa isang textfield ng expression (for ex: (A|B)v(B^C)) then after entering the expression, may j button po na magshowshow ng answer sa na enter na expression ng user. So ito po yung natapos ko na:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;

public class TruthTable extends JFrame{

private JRadioButton VarRB1, VarRB2;
private JCheckBox NotCB, AndCB, OrCB, NotCB1, AndCB1, OrCB1;
private JPanel Panel1;
private JTable Table;
private JScrollPane SP;
private DefaultTableModel DTM;

public TruthTable() {

Container pane = getContentPane();

VarRB1 = new JRadioButton(\"2 Variables\");
VarRB2 = new JRadioButton(\"3 Variables\");

VarRB1.setSize(100,30);
VarRB2.setSize(100,30);

VarRB1.setLocation(100,180);
VarRB2.setLocation(350,180);

NotCB = new JCheckBox(\"NOT\");
AndCB = new JCheckBox(\"AND\");
OrCB = new JCheckBox(\"OR\");

NotCB1 = new JCheckBox(\"NOT\");
AndCB1 = new JCheckBox(\"AND\");
OrCB1 = new JCheckBox(\"OR\");

NotCB.setSize(100,30);
AndCB.setSize(100,30);
OrCB.setSize(100,30);

NotCB1.setSize(100,30);
AndCB1.setSize(100,30);
OrCB1.setSize(100,30);

NotCB.setLocation(100,220);
AndCB.setLocation(100,260);
OrCB.setLocation(100,300);

NotCB1.setLocation(350,220);
AndCB1.setLocation(350,260);
OrCB1.setLocation(350,300);

setTitle(\"Logical Connectives\");
setBackground(Color.gray);
setSize(600, 600);

pane.add(VarRB1);
pane.add(VarRB2);
pane.add(NotCB);
pane.add(AndCB);
pane.add(OrCB);
pane.add(NotCB1);
pane.add(AndCB1);
pane.add(OrCB1);

Panel1 = new JPanel();
Panel1.setLayout(new BorderLayout());
getContentPane().add(Panel1);

DTM = new DefaultTableModel();
Table = new JTable(DTM);

SP = new JScrollPane(Table);
Panel1.add(SP, BorderLayout.CENTER);

ButtonGroup Bgroup = new ButtonGroup();
Bgroup.add(VarRB1);
Bgroup.add(VarRB2);

VarRB1.addItemListener(listener);
VarRB2.addItemListener(listener);
NotCB.addItemListener(listener);
AndCB.addItemListener(listener);
OrCB.addItemListener(listener);
NotCB1.addItemListener(listener);
AndCB1.addItemListener(listener);
OrCB1.addItemListener(listener);

}
ItemListener listener = new ItemListener(){
public void itemStateChanged (ItemEvent e){

if(e.getSource() == VarRB1)
{

DTM.getDataVector().removeAllElements();
DTM.setColumnCount(0);

DTM.addColumn(\"X\");
DTM.addColumn(\"Y\");

DTM.addRow(new Object[] {\"TRUE\", \"TRUE\"});
DTM.addRow(new Object[] {\"TRUE\", \"FALSE\"});
DTM.addRow(new Object[] {\"FALSE\", \"TRUE\"});
DTM.addRow(new Object[] {\"FALSE\", \"FALSE\"});

}

if(e.getSource() == VarRB2)
{
DTM.getDataVector().removeAllElements();
DTM.setColumnCount(0);

DTM.addColumn(\"X\");
DTM.addColumn(\"Y\");
DTM.addColumn(\"Z\");

DTM.addRow(new Object[] {\"TRUE\", \"TRUE\", \"TRUE\"});
DTM.addRow(new Object[] {\"TRUE\", \"TRUE\", \"FALSE\"});
DTM.addRow(new Object[] {\"TRUE\", \"FALSE\", \"TRUE\"});
DTM.addRow(new Object[] {\"TRUE\", \"FALSE\", \"FALSE\"});
DTM.addRow(new Object[] {\"FALSE\", \"TRUE\", \"TRUE\"});
DTM.addRow(new Object[] {\"FALSE\", \"TRUE\", \"FALSE\"});
DTM.addRow(new Object[] {\"FALSE\", \"FALSE\", \"TRUE\"});
DTM.addRow(new Object[] {\"FALSE\", \"FALSE\", \"FALSE\"});
}

if(e.getSource() == NotCB){
if(e.getStateChange() == e.SELECTED){
DTM.getDataVector().removeAllElements();
DTM.setColumnCount(0);

DTM.addColumn(\"X\");
DTM.addColumn(\"Y\");
DTM.addColumn(\"!X\");
DTM.addColumn(\"!Y\");

DTM.addRow(new Object[] {\"TRUE\", \"TRUE\", \"FALSE\", \"FALSE\"});
DTM.addRow(new Object[] {\"TRUE\", \"FALSE\", \"FALSE\", \"TRUE\",});
DTM.addRow(new Object[] {\"FALSE\", \"TRUE\", \"TRUE\", \"FALSE\"});
DTM.addRow(new Object[] {\"FALSE\", \"FALSE\", \"TRUE\", \"TRUE\"});
}
if(e.getStateChange() == e.DESELECTED){
DTM.getDataVector().removeAllElements();
DTM.setColumnCount(0);

DTM.addColumn(\"X\");
DTM.addColumn(\"Y\");

DTM.addRow(new Object[] {\"TRUE\", \"TRUE\"});
DTM.addRow(new Object[] {\"TRUE\", \"FALSE\"});
DTM.addRow(new Object[] {\"FALSE\", \"TRUE\"});
DTM.addRow(new Object[] {\"FALSE\", \"FALSE\"});
}
}
if(e.getSource() == AndCB){
if(e.getStateChange() == e.SELECTED){
DTM.getDataVector().removeAllElements();
DTM.setColumnCount(0);

DTM.addColumn(\"X\");
DTM.addColumn(\"Y\");
DTM.addColumn(\"XY\");

DTM.addRow(new Object[] {\"TRUE\", \"TRUE\", \"TRUE\"});
DTM.addRow(new Object[] {\"TRUE\", \"FALSE\", \"FALSE\"});
DTM.addRow(new Object[] {\"FALSE\", \"TRUE\", \"FALSE\"});
DTM.addRow(new Object[] {\"FALSE\", \"FALSE\", \"FALSE\"});
}
if(e.getStateChange() == e.DESELECTED){
DTM.getDataVector().removeAllElements();
DTM.setColumnCount(0);

DTM.addColumn(\"X\");
DTM.addColumn(\"Y\");

DTM.addRow(new Object[] {\"TRUE\", \"TRUE\"});
DTM.addRow(new Object[] {\"TRUE\", \"FALSE\"});
DTM.addRow(new Object[] {\"FALSE\", \"TRUE\"});
DTM.addRow(new Object[] {\"FALSE\", \"FALSE\"});
}
}
if(e.getSource() == OrCB){
if(e.getStateChange() == e.SELECTED){
DTM.getDataVector().removeAllElements();
DTM.setColumnCount(0);

DTM.addColumn(\"X\");
DTM.addColumn(\"Y\");
DTM.addColumn(\"X#Y\");

DTM.addRow(new Object[] {\"TRUE\", \"TRUE\", \"TRUE\"});
DTM.addRow(new Object[] {\"TRUE\", \"FALSE\", \"TRUE\"});
DTM.addRow(new Object[] {\"FALSE\", \"TRUE\", \"TRUE\"});
DTM.addRow(new Object[] {\"FALSE\", \"FALSE\", \"FALSE\"});
}
if(e.getStateChange() == e.DESELECTED){
DTM.getDataVector().removeAllElements();
DTM.setColumnCount(0);

DTM.addColumn(\"X\");
DTM.addColumn(\"Y\");

DTM.addRow(new Object[] {\"TRUE\", \"TRUE\"});
DTM.addRow(new Object[] {\"TRUE\", \"FALSE\"});
DTM.addRow(new Object[] {\"FALSE\", \"TRUE\"});
DTM.addRow(new Object[] {\"FALSE\", \"FALSE\"});
}
}

if(e.getSource() == NotCB1){
if(e.getStateChange() == e.SELECTED){
DTM.getDataVector().removeAllElements();
DTM.setColumnCount(0);

DTM.addColumn(\"X\");
DTM.addColumn(\"Y\");
DTM.addColumn(\"Z\");
DTM.addColumn(\"!X\");
DTM.addColumn(\"!Y\");
DTM.addColumn(\"!Z\");

DTM.addRow(new Object[] {\"TRUE\", \"TRUE\", \"TRUE\", \"FALSE\", \"FALSE\", \"FALSE\"});
DTM.addRow(new Object[] {\"TRUE\", \"TRUE\", \"FALSE\", \"FALSE\", \"FALSE\", \"TRUE\"});
DTM.addRow(new Object[] {\"TRUE\", \"FALSE\", \"TRUE\", \"FALSE\", \"TRUE\", \"FALSE\"});
DTM.addRow(new Object[] {\"TRUE\", \"FALSE\", \"FALSE\", \"FALSE\", \"TRUE\", \"TRUE\"});
DTM.addRow(new Object[] {\"FALSE\", \"TRUE\", \"TRUE\", \"TRUE\", \"FALSE\", \"FALSE\"});
DTM.addRow(new Object[] {\"FALSE\", \"TRUE\", \"FALSE\", \"TRUE\", \"FALSE\", \"TRUE\"});
DTM.addRow(new Object[] {\"FALSE\", \"FALSE\", \"TRUE\", \"TRUE\", \"TRUE\", \"FALSE\"});
DTM.addRow(new Object[] {\"FALSE\", \"FALSE\", \"FALSE\", \"TRUE\", \"TRUE\", \"TRUE\"});
}
if(e.getStateChange() == e.DESELECTED){
DTM.getDataVector().removeAllElements();
DTM.setColumnCount(0);

DTM.addColumn(\"X\");
DTM.addColumn(\"Y\");
DTM.addColumn(\"Z\");

DTM.addRow(new Object[] {\"TRUE\", \"TRUE\", \"TRUE\"});
DTM.addRow(new Object[] {\"TRUE\", \"TRUE\", \"FALSE\"});
DTM.addRow(new Object[] {\"TRUE\", \"FALSE\", \"TRUE\"});
DTM.addRow(new Object[] {\"TRUE\", \"FALSE\", \"FALSE\"});
DTM.addRow(new Object[] {\"FALSE\", \"TRUE\", \"TRUE\"});
DTM.addRow(new Object[] {\"FALSE\", \"TRUE\", \"FALSE\"});
DTM.addRow(new Object[] {\"FALSE\", \"FALSE\", \"TRUE\"});
DTM.addRow(new Object[] {\"FALSE\", \"FALSE\", \"FALSE\"});
}
}
if(e.getSource() == AndCB1){
if(e.getStateChange() == e.SELECTED){
DTM.getDataVector().removeAllElements();
DTM.setColumnCount(0);

DTM.addColumn(\"X\");
DTM.addColumn(\"Y\");
DTM.addColumn(\"Z\");
DTM.addColumn(\"XYZ\");

DTM.addRow(new Object[] {\"TRUE\", \"TRUE\", \"TRUE\", \"TRUE\"});
DTM.addRow(new Object[] {\"TRUE\", \"TRUE\", \"FALSE\", \"FALSE\"});
DTM.addRow(new Object[] {\"TRUE\", \"FALSE\", \"TRUE\", \"FALSE\"});
DTM.addRow(new Object[] {\"TRUE\", \"FALSE\", \"FALSE\", \"FALSE\"});
DTM.addRow(new Object[] {\"FALSE\", \"TRUE\", \"TRUE\", \"FALSE\"});
DTM.addRow(new Object[] {\"FALSE\", \"TRUE\", \"FALSE\", \"FALSE\"});
DTM.addRow(new Object[] {\"FALSE\", \"FALSE\", \"TRUE\", \"FALSE\"});
DTM.addRow(new Object[] {\"FALSE\", \"FALSE\", \"FALSE\", \"FALSE\"});
}
if(e.getStateChange() == e.DESELECTED){
DTM.getDataVector().removeAllElements();
DTM.setColumnCount(0);

DTM.addColumn(\"X\");
DTM.addColumn(\"Y\");
DTM.addColumn(\"Z\");

DTM.addRow(new Object[] {\"TRUE\", \"TRUE\", \"TRUE\"});
DTM.addRow(new Object[] {\"TRUE\", \"TRUE\", \"FALSE\"});
DTM.addRow(new Object[] {\"TRUE\", \"FALSE\", \"TRUE\"});
DTM.addRow(new Object[] {\"TRUE\", \"FALSE\", \"FALSE\"});
DTM.addRow(new Object[] {\"FALSE\", \"TRUE\", \"TRUE\"});
DTM.addRow(new Object[] {\"FALSE\", \"TRUE\", \"FALSE\"});
DTM.addRow(new Object[] {\"FALSE\", \"FALSE\", \"TRUE\"});
DTM.addRow(new Object[] {\"FALSE\", \"FALSE\", \"FALSE\"});
}
}
if(e.getSource() == OrCB1){
if(e.getStateChange() == e.SELECTED){
DTM.getDataVector().removeAllElements();
DTM.setColumnCount(0);

DTM.addColumn(\"X\");
DTM.addColumn(\"Y\");
DTM.addColumn(\"Z\");
DTM.addColumn(\"X#Y#Z\");

DTM.addRow(new Object[] {\"TRUE\", \"TRUE\", \"TRUE\", \"TRUE\"});
DTM.addRow(new Object[] {\"TRUE\", \"TRUE\", \"FALSE\", \"TRUE\"});
DTM.addRow(new Object[] {\"TRUE\", \"FALSE\", \"TRUE\", \"TRUE\"});
DTM.addRow(new Object[] {\"TRUE\", \"FALSE\", \"FALSE\", \"TRUE\"});
DTM.addRow(new Object[] {\"FALSE\", \"TRUE\", \"TRUE\", \"TRUE\"});
DTM.addRow(new Object[] {\"FALSE\", \"TRUE\", \"FALSE\", \"TRUE\"});
DTM.addRow(new Object[] {\"FALSE\", \"FALSE\", \"TRUE\", \"TRUE\"});
DTM.addRow(new Object[] {\"FALSE\", \"FALSE\", \"FALSE\", \"FALSE\"});
}
if(e.getStateChange() == e.DESELECTED){
DTM.getDataVector().removeAllElements();
DTM.setColumnCount(0);

DTM.addColumn(\"A\");
DTM.addColumn(\"B\");
DTM.addColumn(\"C\");

DTM.addRow(new Object[] {\"TRUE\", \"TRUE\", \"TRUE\"});
DTM.addRow(new Object[] {\"TRUE\", \"TRUE\", \"FALSE\"});
DTM.addRow(new Object[] {\"TRUE\", \"FALSE\", \"TRUE\"});
DTM.addRow(new Object[] {\"TRUE\", \"FALSE\", \"FALSE\"});
DTM.addRow(new Object[] {\"FALSE\", \"TRUE\", \"TRUE\"});
DTM.addRow(new Object[] {\"FALSE\", \"TRUE\", \"FALSE\"});
DTM.addRow(new Object[] {\"FALSE\", \"FALSE\", \"TRUE\"});
DTM.addRow(new Object[] {\"FALSE\", \"FALSE\", \"FALSE\"});
}
}
repaint();
}
};

public static void main (String[] args) {
TruthTable mainFrame = new TruthTable();
mainFrame.setVisible(true);
}
}