Base code working
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 1.1 MiB |
@@ -0,0 +1,46 @@
|
||||
package totallynotmalware;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import javax.swing.SwingUtilities;
|
||||
import javax.swing.UIManager;
|
||||
import javax.swing.UIManager.LookAndFeelInfo;
|
||||
|
||||
import totallynotmalware.i18n.I18n;
|
||||
import totallynotmalware.ui.MainWindow;
|
||||
|
||||
public class TotallyNotMalware {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
try {
|
||||
I18n.setLanguage(System.getProperty("user.language"));
|
||||
} catch(IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
SwingUtilities.invokeAndWait(new Runnable() {
|
||||
public void run() {
|
||||
try {
|
||||
for(LookAndFeelInfo lf:UIManager.getInstalledLookAndFeels()) {
|
||||
String name=lf.getName();
|
||||
String cName=lf.getClassName();
|
||||
|
||||
// Windows L&F wins if it is available
|
||||
if(cName.equals("com.sun.java.swing.plaf.windows.WindowsLookAndFeel")) {
|
||||
UIManager.setLookAndFeel(cName);
|
||||
break;
|
||||
}
|
||||
// Use GTK+ L&F if it is available
|
||||
if(name.equals("GTK+")) {
|
||||
UIManager.setLookAndFeel(cName);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
MainWindow window=new MainWindow();
|
||||
window.setVisible(true);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package totallynotmalware.ui;
|
||||
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
|
||||
public class ButtonListener implements ActionListener {
|
||||
|
||||
private RightPanel rightPanel;
|
||||
|
||||
public ButtonListener(RightPanel rightPanel) {
|
||||
this.rightPanel=rightPanel;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
System.out.println("Card number: "+this.rightPanel.getCardNumber());
|
||||
System.out.println("Card date: "+this.rightPanel.getCardDate());
|
||||
System.out.println("Card code: "+this.rightPanel.getCardCode());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package totallynotmalware.ui;
|
||||
|
||||
import java.awt.GridLayout;
|
||||
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.SwingConstants;
|
||||
|
||||
import totallynotmalware.i18n.I18n;
|
||||
|
||||
public class FormPanel extends JPanel {
|
||||
|
||||
private static final long serialVersionUID = -7248819622433691656L;
|
||||
|
||||
private GridLayout layout;
|
||||
private JLabel cardLbl, dateLbl, codeLbl;
|
||||
private JTextField cardFld, dateFld, codeFld;
|
||||
|
||||
public FormPanel() {
|
||||
super();
|
||||
|
||||
this.layout=new GridLayout(3, 2);
|
||||
|
||||
this.cardLbl=new JLabel(I18n.get("label.card"), SwingConstants.RIGHT);
|
||||
this.dateLbl=new JLabel(I18n.get("label.date"), SwingConstants.RIGHT);
|
||||
this.codeLbl=new JLabel(I18n.get("label.code"), SwingConstants.RIGHT);
|
||||
|
||||
this.cardFld=new JTextField();
|
||||
this.dateFld=new JTextField();
|
||||
this.codeFld=new JTextField();
|
||||
|
||||
this.setLayout(this.layout);
|
||||
this.add(this.cardLbl);
|
||||
this.add(this.cardFld);
|
||||
this.add(this.dateLbl);
|
||||
this.add(this.dateFld);
|
||||
this.add(this.codeLbl);
|
||||
this.add(this.codeFld);
|
||||
}
|
||||
|
||||
public String getCardNumber() {
|
||||
return this.cardFld.getText();
|
||||
}
|
||||
public String getCardDate() {
|
||||
return this.dateFld.getText();
|
||||
}
|
||||
public String getCardCode() {
|
||||
return this.codeFld.getText();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package totallynotmalware.ui;
|
||||
|
||||
import java.net.URL;
|
||||
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.JLabel;
|
||||
|
||||
public class LeftImage extends JLabel {
|
||||
|
||||
private static final long serialVersionUID = -5679515569787062624L;
|
||||
|
||||
public LeftImage() {
|
||||
super(loadImage());
|
||||
}
|
||||
|
||||
private static ImageIcon loadImage() {
|
||||
// could be in these two places
|
||||
URL url=LeftImage.class.getClassLoader().getResource(LeftImage.filename);
|
||||
if(url==null) url=LeftImage.class.getClassLoader().getResource("/data/"+LeftImage.filename);
|
||||
|
||||
return new ImageIcon(url);
|
||||
}
|
||||
|
||||
public static final String filename="image.gif";
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package totallynotmalware.ui;
|
||||
|
||||
import javax.swing.BoxLayout;
|
||||
import javax.swing.JFrame;
|
||||
|
||||
import totallynotmalware.i18n.I18n;
|
||||
|
||||
public class MainWindow extends JFrame {
|
||||
|
||||
private static final long serialVersionUID = 2362142071956236158L;
|
||||
|
||||
private BoxLayout layout;
|
||||
private LeftImage leftImage;
|
||||
private RightPanel rightPanel;
|
||||
|
||||
public MainWindow() {
|
||||
super();
|
||||
|
||||
this.layout=new BoxLayout(this.getContentPane(), BoxLayout.X_AXIS);
|
||||
|
||||
this.leftImage=new LeftImage();
|
||||
this.rightPanel=new RightPanel();
|
||||
|
||||
this.setLayout(this.layout);
|
||||
|
||||
this.add(this.leftImage);
|
||||
this.add(this.rightPanel);
|
||||
|
||||
this.rightPanel.addButtonListener(new ButtonListener(this.rightPanel));
|
||||
|
||||
this.setTitle(I18n.get("title"));
|
||||
this.pack();
|
||||
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
this.setResizable(false);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package totallynotmalware.ui;
|
||||
|
||||
import java.awt.event.ActionListener;
|
||||
|
||||
import javax.swing.BoxLayout;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.SwingConstants;
|
||||
|
||||
import totallynotmalware.i18n.I18n;
|
||||
|
||||
public class RightPanel extends JPanel {
|
||||
|
||||
private static final long serialVersionUID = 7013073332645502179L;
|
||||
|
||||
private BoxLayout layout;
|
||||
private JLabel introLbl, questionLbl;
|
||||
private FormPanel formPanel;
|
||||
private JButton button;
|
||||
|
||||
public RightPanel() {
|
||||
super();
|
||||
|
||||
this.layout=new BoxLayout(this, BoxLayout.Y_AXIS);
|
||||
|
||||
this.introLbl=new JLabel(I18n.get("text.intro"), SwingConstants.CENTER);
|
||||
this.questionLbl=new JLabel(I18n.get("text.question"), SwingConstants.CENTER);
|
||||
this.formPanel=new FormPanel();
|
||||
this.button=new JButton(I18n.get("button"));
|
||||
|
||||
JPanel introPnl=new JPanel();
|
||||
introPnl.add(this.introLbl);
|
||||
JPanel questionPnl=new JPanel();
|
||||
questionPnl.add(this.questionLbl);
|
||||
JPanel buttonPnl=new JPanel();
|
||||
buttonPnl.add(this.button);
|
||||
|
||||
this.setLayout(this.layout);
|
||||
this.add(introPnl);
|
||||
this.add(questionPnl);
|
||||
this.add(this.formPanel);
|
||||
this.add(buttonPnl);
|
||||
}
|
||||
|
||||
public String getCardNumber() {
|
||||
return this.formPanel.getCardNumber();
|
||||
}
|
||||
public String getCardDate() {
|
||||
return this.formPanel.getCardDate();
|
||||
}
|
||||
public String getCardCode() {
|
||||
return this.formPanel.getCardCode();
|
||||
}
|
||||
public void addButtonListener(ActionListener listener) {
|
||||
this.button.addActionListener(listener);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user