- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 Swing 开发了一个 Java 计算器。我有很多按钮、JLabels 和其他组件。之前,当我运行我的程序时,它显示正确。当它没有正确显示后,我总是必须关闭应用程序的窗口并一次又一次地运行它,直到它显示为止。
这就是我得到的:
此外,我没有任何错误或异常。这个问题的原因是什么?
代码:
import javax.swing.*;
import javax.swing.border.Border;
import org.jdesktop.swingx.JXDatePicker;
import net.sourceforge.jdatepicker.impl.JDatePanelImpl;
import net.sourceforge.jdatepicker.impl.JDatePickerImpl;
import net.sourceforge.jdatepicker.impl.UtilDateModel;
public class Calculette extends JFrame implements ActionListener{
/**
*
*/
private static final long serialVersionUID = 1L;
Border cadre = BorderFactory.createTitledBorder("");
//Les panneaux
JPanel panel1 = new JPanel();
JPanel panel2= new JPanel();
JPanel panel3 = new JPanel();
//les menus
JMenuBar menubar = new JMenuBar();
JMenu fichier = new JMenu("Fichier");
JMenu edition = new JMenu("Edition");
JMenu help = new JMenu("?");
JMenuItem fermer = new JMenuItem("Fermer");
JMenuItem copier = new JMenuItem("Copier");
JMenuItem coller = new JMenuItem("Coller");
JMenuItem apropos = new JMenuItem("A propos de la calculatrice");
JLabel jlab1 = new JLabel("Selectionnez un type de calcul sur les dates :");
JComboBox<String> list = new JComboBox<String>();
GridBagLayout gbl = new GridBagLayout();
GridBagConstraints gbc = new GridBagConstraints();
BorderLayout borderl = new BorderLayout();
public JTextArea resultat = new JTextArea(2,35);
ButtonGroup bg = new ButtonGroup();
JRadioButton degres = new JRadioButton("Degrés");
JRadioButton radians = new JRadioButton("Radians");
JRadioButton grades = new JRadioButton("Grades");
JButton mc = new JButton ("MC");
JButton mr = new JButton ("MR");
JButton ms = new JButton ("MS");
JButton mpls = new JButton ("M+");
JButton mmns = new JButton ("M-");
JButton vide = new JButton("");
JButton inv = new JButton("Inv");
JButton ln = new JButton("ln");
JButton pranthese1 = new JButton("(");
JButton pranthese2 = new JButton(")");
JButton efface = new JButton("\u2190");
JButton ce = new JButton("CE");
JButton c = new JButton("C");
JButton plusmoins = new JButton(" ±");
JButton carre = new JButton("√");
JButton intt = new JButton("Int");
JButton sinh = new JButton("sinh");
JButton sin = new JButton("sin");
JButton xcarre = new JButton("x²");
JButton nfact = new JButton("n!");
JButton b7 = new JButton("7");
JButton b8 = new JButton("8");
JButton b9 = new JButton("9");
JButton slash = new JButton("/");
JButton percent = new JButton("%");
JButton dms = new JButton("dms");
JButton cosh = new JButton("cosh");
JButton cos = new JButton("cos");
JButton xpowery = new JButton("<html>x<sup>y</sup></html>");
JButton ycarrex = new JButton("y√x");
JButton b4 = new JButton("4");
JButton b5 = new JButton("5");
JButton b6 = new JButton("6");
JButton etoil = new JButton("*");
JButton unsurx = new JButton("1/x");
JButton pi = new JButton("π");
JButton tanh = new JButton("tanh");
JButton tan = new JButton("tan");
JButton xpowertr = new JButton("x³");
JButton carrecubx = new JButton("∛x");
JButton b1 = new JButton("1");
JButton b2 = new JButton("2");
JButton b3 = new JButton("3");
JButton moins = new JButton("-");
JButton egal = new JButton("=");
JButton fe = new JButton("F-E");
JButton exp = new JButton("Exp");
JButton mod = new JButton("Mod");
JButton log = new JButton("log");
JButton dixy = new JButton("<html>10<sup>x</sup></html>");
public JButton b0 = new JButton("0");
JButton virgule = new JButton(",");
JButton plus = new JButton("+");
//deuxieme panel
JLabel de = new JLabel("de");
JLabel a = new JLabel("a");
JXDatePicker datePicker1 = new JXDatePicker();
JXDatePicker datePicker2 = new JXDatePicker();
JXDatePicker datePicker3 = new JXDatePicker();
JLabel labdiff = new JLabel("Différence (années, mois, semaines, jours)");
public JTextField textdif = new JTextField(40);
JLabel labdiffj = new JLabel("Différence (jours)");
public JTextField textdifj = new JTextField(40);
JLabel dee = new JLabel("De");
ButtonGroup btg = new ButtonGroup();
JRadioButton ajout = new JRadioButton("Ajouter");
JRadioButton soustr = new JRadioButton("Soustraire");
JLabel an = new JLabel("Année(s)");
JLabel mois = new JLabel("Mois");
JLabel jour = new JLabel("Jour(s)");
SpinnerModel spinnerModel = new SpinnerNumberModel(0,0,999,1);
SpinnerModel spinnerModel2 = new SpinnerNumberModel(0,0,999,1);
SpinnerModel spinnerModel3 = new SpinnerNumberModel(0,0,999,1);
JSpinner anlist = new JSpinner(spinnerModel);
JSpinner moilist = new JSpinner(spinnerModel2);
JSpinner jourlist = new JSpinner(spinnerModel3);
JLabel datee = new JLabel("Date");
JTextField textdate = new JTextField(40);
public JButton calcul1 = new JButton("Calculer");
public JButton calculer = new JButton("Calculer");
////
Font f = new Font("Arial", Font.BOLD, 10);
JButton frac = new JButton("Frac");
JButton ex = new JButton("<html>e<sup>x</sup></html>");
JButton sinhun = new JButton("<html>sinh<sup>-1</sup></html>");
JButton sinmun = new JButton("<html>sin<sup>-1</sup></html>");
JButton deg = new JButton("deg");
JButton coshun = new JButton("<html>cosh<sup>-1</sup></html>");
JButton cosun = new JButton("<html>cos<sup>-1</sup></html>");
JButton deuxpi = new JButton("2*π");
JButton tanhun = new JButton("<html>tanh<sup>-1</sup></html>");
JButton tanun = new JButton("<html>tan<sup>-1</sup></html>");
////
int first=1; double result=0,memory=0,n1=0;
double num; int opt=2; int oper1=0,oper2=0;
@SuppressWarnings("deprecation")
public Calculette(){
super("Calculatrice");
this.setVisible(true);
this.setSize(1100, 320);
this.getContentPane().add(panel1);
panel1.setLayout(borderl);
panel1.add(panel2,BorderLayout.WEST);
panel1.add(panel3,BorderLayout.EAST);
panel3.setBackground(Color.WHITE);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);
this.setJMenuBar(menubar);
menubar.add(fichier);
menubar.add(edition);
menubar.add(help);
fichier.add(fermer);
edition.add(copier);
edition.add(coller);
help.add(apropos);
copier.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,Event.CTRL_MASK,true));
coller.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,Event.CTRL_MASK,true));
list.addItem("Calculer la différence entre deux dates");
list.addItem("Ajouter ou soustraire des jours à une date spécifiée");
list.setSize(20, 10);
panel2.setBorder(cadre);
panel3.setBorder(cadre);
resultat.setBorder(cadre);
panel2.setLayout(gbl);
panel3.setLayout(gbl);
btg.add(ajout); btg.add(soustr);
ajout.setBackground(Color.WHITE);
soustr.setBackground(Color.WHITE);
datePicker1.setDate(Calendar.getInstance().getTime());
datePicker1.setFormats(new SimpleDateFormat("dd/MM/yyyy"));
datePicker2.setDate(Calendar.getInstance().getTime());
datePicker2.setFormats(new SimpleDateFormat("dd/MM/yyyy"));
datePicker3.setDate(Calendar.getInstance().getTime());
datePicker3.setFormats(new SimpleDateFormat("dd/MM/yyyy"));
coordonne(0,0,gbc,10,1);
panel2.add(resultat,gbc);
resultat.setEditable(false);
bg.add(degres); bg.add(radians); bg.add(grades);
vide.setEnabled(false);
textdif.setEditable(false);
textdifj.setEditable(false);
textdate.setEditable(false);
coordonne(0,1,gbc,1,1);
panel2.add(degres,gbc);
coordonne(1,1,gbc,1,1);
panel2.add(radians,gbc);
coordonne(2,1,gbc,3,1);
panel2.add(grades,gbc);
coordonne(5,1,gbc,1,1);
panel2.add(mc,gbc);
coordonne(6,1,gbc,1,1);
panel2.add(mr,gbc);
coordonne(7,1,gbc,1,1);
panel2.add(ms,gbc);
coordonne(8,1,gbc,1,1);
panel2.add(mpls,gbc);
coordonne(9,1,gbc,1,1);
panel2.add(mmns,gbc);
coordonne(0,2,gbc,1,1);
panel2.add(vide,gbc);
coordonne(1,2,gbc,1,1);
panel2.add(inv,gbc);
coordonne(2,2,gbc,1,1);
panel2.add(ln,gbc);
coordonne(3,2,gbc,1,1);
panel2.add(pranthese1,gbc);
coordonne(4,2,gbc,1,1);
panel2.add(pranthese2,gbc);
coordonne(5,2,gbc,1,1);
panel2.add(efface,gbc);
coordonne(6,2,gbc,1,1);
panel2.add(ce,gbc);
coordonne(7,2,gbc,1,1);
panel2.add(c,gbc);
coordonne(8,2,gbc,1,1);
panel2.add(plusmoins,gbc);
coordonne(9,2,gbc,1,1);
panel2.add(carre,gbc);
coordonne(0,3,gbc,1,1);
panel2.add(intt,gbc);
coordonne(1,3,gbc,1,1);
panel2.add(sinh,gbc);
coordonne(2,3,gbc,1,1);
panel2.add(sin,gbc);
coordonne(3,3,gbc,1,1);
panel2.add(xcarre,gbc);
coordonne(4,3,gbc,1,1);
panel2.add(nfact,gbc);
coordonne(5,3,gbc,1,1);
panel2.add(b7,gbc);
coordonne(6,3,gbc,1,1);
panel2.add(b8,gbc);
coordonne(7,3,gbc,1,1);
panel2.add(b9,gbc);
coordonne(8,3,gbc,1,1);
panel2.add(slash,gbc);
coordonne(9,3,gbc,1,1);
panel2.add(percent,gbc);
coordonne(0,4,gbc,1,1);
panel2.add(dms,gbc);
coordonne(1,4,gbc,1,1);
panel2.add(cosh,gbc);
coordonne(2,4,gbc,1,1);
panel2.add(cos,gbc);
coordonne(3,4,gbc,1,1);
panel2.add(xpowery,gbc);
coordonne(4,4,gbc,1,1);
panel2.add(ycarrex,gbc);
coordonne(5,4,gbc,1,1);
panel2.add(b4,gbc);
coordonne(6,4,gbc,1,1);
panel2.add(b5,gbc);
coordonne(7,4,gbc,1,1);
panel2.add(b6,gbc);
coordonne(8,4,gbc,1,1);
panel2.add(etoil,gbc);
coordonne(9,4,gbc,1,1);
panel2.add(unsurx,gbc);
coordonne(0,5,gbc,1,1);
panel2.add(pi,gbc);
coordonne(1,5,gbc,1,1);
panel2.add(tanh,gbc);
coordonne(2,5,gbc,1,1);
panel2.add(tan,gbc);
coordonne(3,5,gbc,1,1);
panel2.add(xpowertr,gbc);
coordonne(4,5,gbc,1,1);
panel2.add(carrecubx,gbc);
coordonne(5,5,gbc,1,1);
panel2.add(b1,gbc);
coordonne(6,5,gbc,1,1);
panel2.add(b2,gbc);
coordonne(7,5,gbc,1,1);
panel2.add(b3,gbc);
coordonne(8,5,gbc,1,1);
panel2.add(moins,gbc);
coordonne(9,5,gbc,1,2);
panel2.add(egal,gbc);
coordonne(0,6,gbc,1,1);
panel2.add(fe,gbc);
coordonne(1,6,gbc,1,1);
panel2.add(exp,gbc);
coordonne(2,6,gbc,1,1);
panel2.add(mod,gbc);
coordonne(3,6,gbc,1,1);
panel2.add(log,gbc);
coordonne(4,6,gbc,1,1);
panel2.add(dixy,gbc);
coordonne(5,6,gbc,2,1);
panel2.add(b0,gbc);
coordonne(7,6,gbc,1,1);
panel2.add(virgule,gbc);
coordonne(8,6,gbc,1,1);
panel2.add(plus,gbc);
coordonne(0,0,gbc,6,1);
panel3.add(jlab1,gbc);
coordonne(0,1,gbc,6,1);
panel3.add(list,gbc);
////////////////////////
coordonne(0,2,gbc,2,1);
panel3.add(de,gbc);
coordonne(2,2,gbc,1,1);
panel3.add(datePicker1,gbc);
coordonne(3,2,gbc,2,1);
panel3.add(a,gbc);
coordonne(5,2,gbc,1,1);
panel3.add(datePicker2,gbc);
coordonne(0,3,gbc,6,1);
panel3.add(labdiff,gbc);
coordonne(0,4,gbc,6,1);
panel3.add(textdif,gbc);
coordonne(0,5,gbc,6,1);
panel3.add(labdiffj,gbc);
coordonne(0,6,gbc,6,1);
panel3.add(textdifj,gbc);
coordonne(5,7,gbc,1,1);
panel3.add(calculer,gbc);
//Evenement basics
list.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
if (list.getSelectedIndex()==0 ){
panel3.remove(dee);
panel3.validate();
panel3.remove(datePicker3);
panel3.validate();
panel3.remove(ajout);
panel3.validate();
panel3.remove(soustr);
panel3.validate();
panel3.remove(an);
panel3.validate();
panel3.remove(anlist);
panel3.validate();
panel3.remove(mois);
panel3.validate();
panel3.remove(moilist);
panel3.validate();
panel3.remove(jour);
panel3.validate();
panel3.remove(jourlist);
panel3.validate();
panel3.remove(datee);
panel3.validate();
panel3.remove(textdate);
panel3.validate();
panel3.remove(calcul1);
panel3.validate();
///////////
coordonne(0,2,gbc,2,1);
panel3.add(de,gbc);
coordonne(2,2,gbc,1,1);
panel3.add(datePicker1,gbc);
coordonne(3,2,gbc,2,1);
panel3.add(a,gbc);
coordonne(5,2,gbc,1,1);
panel3.add(datePicker2,gbc);
coordonne(0,3,gbc,6,1);
panel3.add(labdiff,gbc);
coordonne(0,4,gbc,6,1);
panel3.add(textdif,gbc);
coordonne(0,5,gbc,6,1);
panel3.add(labdiffj,gbc);
coordonne(0,6,gbc,6,1);
panel3.add(textdifj,gbc);
coordonne(5,7,gbc,1,1);
panel3.add(calculer,gbc);
panel3.validate();
}
if( list.getSelectedIndex()==1){
panel3.remove(de);
panel3.validate();
panel3.remove(datePicker1);
panel3.validate();
panel3.remove(a);
panel3.validate();
panel3.remove(datePicker2);
panel3.validate();
panel3.remove(labdiff);
panel3.validate();
panel3.remove(textdif);
panel3.validate();
panel3.remove(labdiffj);
panel3.validate();
panel3.remove(textdifj);
panel3.validate();
panel3.remove(calculer);
panel3.validate();
/////////
coordonne(0,2,gbc,1,1);
panel3.add(dee,gbc);
coordonne(2,2,gbc,2,1);
panel3.add(datePicker3,gbc);
coordonne(4,2,gbc,1,1);
panel3.add(ajout,gbc);
coordonne(5,2,gbc,2,1);
panel3.add(soustr,gbc);
coordonne(0,3,gbc,1,1);
panel3.add(an,gbc);
coordonne(1,3,gbc,1,1);
panel3.add(anlist,gbc);
coordonne(2,3,gbc,1,1);
panel3.add(mois,gbc);
coordonne(3,3,gbc,1,1);
panel3.add(moilist,gbc);
coordonne(4,3,gbc,1,1);
panel3.add(jour,gbc);
coordonne(5,3,gbc,1,1);
panel3.add(jourlist,gbc);
coordonne(0,4,gbc,6,1);
panel3.add(datee,gbc);
coordonne(0,5,gbc,6,1);
panel3.add(textdate,gbc);
coordonne(5,6,gbc,1,1);
panel3.add(calcul1,gbc);
panel3.validate();
}
}
});
inv.addActionListener(this);
final JButton[] tab_button = {b1, b2, b3, b4, b5, b6, b7, b8, b9, b0,c,ce,calcul1,calculer,carre,carrecubx,cos,plus,moins,slash,etoil,egal,mc,mmns,mpls,efface,unsurx,plusmoins};
for(int i = 0; i < tab_button.length; i++)
{
tab_button[i].addActionListener(this);
}
final JMenuItem[] tab_items = {apropos,coller,copier,fermer};
for(int i = 0; i < tab_items.length; i++)
{
tab_items[i].addActionListener(this);
}
}
public static void coordonne(int x, int y, GridBagConstraints g,int gw,int gh){
g.gridx= x;
g.gridy= y ;
g.insets=new Insets(2,2,2,2);
g.gridwidth = gw;
g.gridheight = gh;
g.fill=GridBagConstraints.BOTH;
}
public static void main(String[] args) {
new Calculette();
}
@Override
public void actionPerformed(ActionEvent e) {
String str;
//Action Corresponding to + button
if(e.getSource()==plus)
{
if(first==1)
{
result=num=Double.parseDouble(resultat.getText());
oper1=1;
}
else
{
n1=Double.parseDouble(resultat.getText());
oper2=1;
}
//Action corresponding to previous operator
switch(oper1)
{
case 1:add1();
break;
case 2:sub();
break;
case 3:div();
break;
case 4:mul();
break;
}
}
//Action Corresponding to * button
if(e.getSource()==etoil)
{
if(first==1)
{
result=num=Double.parseDouble(resultat.getText());
oper1=4;
}
else
{
n1=Double.parseDouble(resultat.getText());
oper2=4;
}
//Action corresponding to previous operator
switch(oper1)
{
case 1:add1();
break;
case 2:sub();
break;
case 3:div();
break;
case 4:mul();
break;
}
}
//Action Corresponding to / button
if(e.getSource()==slash)
{
if(first==1)
{
result=num=Double.parseDouble(resultat.getText());
oper1=3;
}
else
{
n1=Double.parseDouble(resultat.getText());
oper2=3;
}
//Action corresponding to previous operator
switch(oper1)
{
case 1:add1();
break;
case 2:sub();
break;
case 3:div();
break;
case 4:mul();
break;
}
}
//Action Corresponding to - button
else if(e.getSource()==moins)
{
if(first==1)
{
result=num=Double.parseDouble(resultat.getText());
oper1=2;
}
else
{
n1=Double.parseDouble(resultat.getText());
oper2=2;
}
//Action corresponding to previous operator
switch(oper1)
{
case 1:add1();
break;
case 2:sub();
break;
case 3:div();
break;
case 4:mul();
break;
}
}
//Action Corresponding to = button
else if(e.getSource()==egal)
{
double n1=Double.parseDouble(resultat.getText());
if(oper1==1)
result=result+n1;
else if(oper1==2)
result=result-n1;
else if(oper1==3)
result=result/n1;
else if(oper1==4)
result=result*n1;
else
result=Double.parseDouble(resultat.getText());
num=result;
str=String.valueOf(result);
resultat.setText(str);
}
//Action Corresponding to MS button
else if(e.getSource()==ms)
{
memory=Double.parseDouble(resultat.getText());
str=String.valueOf("M");
}
//Action Corresponding to M button
else if(e.getSource()==mpls)
{
memory=memory+Double.parseDouble(resultat.getText());
}
//Action Corresponding to MC button
else if(e.getSource()==mc)
{
memory=0;
resultat.setText("0");
}
//Action Corresponding to MR button
else if(e.getSource()==mr)
{
str=String.valueOf(memory);
resultat.setText(str);
}
//Action Corresponding to +/- button
else if(e.getSource()==plusmoins)
{
double n1=Double.parseDouble(resultat.getText());
n1=-n1;
str=String.valueOf(n1);
resultat.setText(str);
}
//Action Corresponding to 0 button
else if(e.getSource()==b0)
{
if(opt==1)
str=String.valueOf(resultat.getText())+0;
else
str=String.valueOf(" ")+0;
opt=1;
resultat.setText(str);
}
//Action Corresponding to 1 button
else if(e.getSource()==b1)
{
if(opt==1)
str=String.valueOf(resultat.getText())+1;
else
str=String.valueOf(" ")+1;
opt=1;
resultat.setText(str);
}
//Action Corresponding to 2 button
else if(e.getSource()==b2)
{
if(opt==1)
str=String.valueOf(resultat.getText())+2;
else
str=String.valueOf(" ")+2;
opt=1;
resultat.setText(str);
}
//Action Corresponding to 3 button
else if(e.getSource()==b3)
{
if(opt==1)
str=String.valueOf(resultat.getText())+3;
else
str=String.valueOf(" ")+3;
opt=1;
resultat.setText(str);
}
//Action Corresponding to 4 button
else if(e.getSource()==b4)
{
if(opt==1)
str=String.valueOf(resultat.getText())+4;
else
str=String.valueOf(" ")+4;
opt=1;
resultat.setText(str);
}
//Action Corresponding to 5 button
else if(e.getSource()==b5)
{
if(opt==1)
str=String.valueOf(resultat.getText())+5;
else
str=String.valueOf(" ")+5;
opt=1;
resultat.setText(str);
}
//Action Corresponding to 6 button
else if(e.getSource()==b6)
{
if(opt==1)
str=String.valueOf(resultat.getText())+6;
else
str=String.valueOf(" ")+6;
opt=1;
resultat.setText(str);
}
//Action Corresponding to 7 button
else if(e.getSource()==b7)
{
if(opt==1)
str=String.valueOf(resultat.getText())+7;
else
str=String.valueOf(" ")+7;
opt=1;
resultat.setText(str);
}
//Action Corresponding to 8 button
else if(e.getSource()==b8)
{
if(opt==1)
str=String.valueOf(resultat.getText())+8;
else
str=String.valueOf(" ")+8;
opt=1;
resultat.setText(str);
}
//Action Corresponding to 9 button
else if(e.getSource()==b9)
{
if(opt==1)
str=String.valueOf(resultat.getText())+9;
else
str=String.valueOf(" ")+9;
opt=1;
resultat.setText(str);
}
//Action Corresponding to BACKSPACE button
else if(e.getSource()==efface)
{
int len;
str=resultat.getText();
len=str.length();
if(len>=1)
str=str.substring(0,len-1);
resultat.setText(str);
}
//Action Corresponding to CE button
else if(e.getSource()==ce)
{
result=0;
first=1;
opt=2;
str=String.valueOf('0');
resultat.setText(str);
}
//Action Corresponding to C button
else if(e.getSource()==c)
{
result=0;
memory=0;
first=1;
opt=2;
resultat.setText("0");
}
//Action Corresponding to . button
else if(e.getSource()==virgule)
{
str=String.valueOf(resultat.getText())+".";
resultat.setText(str);
}
//Action Corresponding to 1/x button
else if(e.getSource()==unsurx)
{
double n1=Double.parseDouble(resultat.getText());
n1=1/n1;
str=String.valueOf(n1);
resultat.setText(str);
}
//Action Corresponding to sqrt button
else if(e.getSource()==carre)
{
double n1=Double.parseDouble(resultat.getText());
n1=Math.sqrt(n1);
str=String.valueOf(n1);
resultat.setText(str);
}
//Action Corresponding to % button
else if(e.getSource()==percent)
{
double n1=Double.parseDouble(resultat.getText());
n1=(n1*num)/100;
str=String.valueOf(n1);
resultat.setText(str);
}
else if (e.getSource()==calculer){
Date date1 = null;
Date date2 = null;
int nbSemaines = 0;
int nbAnnees = 0;
long nbJours = 0;
long UNE_HEURE = 60 * 60 * 1000L;
date1 = (Date) datePicker1.getDate();
date2 = (Date) datePicker2.getDate();
long nbj = (date2.getTime() - date1.getTime() + UNE_HEURE) / (UNE_HEURE * 24);
textdif.setText(nbAnnees +" années; "+ nbSemaines+" semaines; "+ nbJours+" jours");
textdifj.setText(nbj+" jours");
}
else if(e.getSource()==apropos){ new Apropos(); }
else if(e.getSource()==fermer){ System.exit(0);}
else if (e.getSource()==inv){
if (inv.getModel().isSelected()){
panel2.remove(intt); panel2.remove(ln); panel2.remove(sin); panel2.remove(sinh);
panel2.remove(dms); panel2.remove(cosh); panel2.remove(cos); panel2.remove(pi);
panel2.remove(tanh); panel2.remove(tan);
panel2.validate();
coordonne(0,3,gbc,1,1);
panel2.add(frac,gbc);
coordonne(1,3,gbc,1,1);
panel2.add(sinhun,gbc);
coordonne(2,3,gbc,1,1);
panel2.add(sinmun,gbc);
coordonne(0,4,gbc,1,1);
panel2.add(deg,gbc);
coordonne(1,4,gbc,1,1);
panel2.add(coshun,gbc);
coordonne(2,4,gbc,1,1);
panel2.add(cosun,gbc);
coordonne(0,5,gbc,1,1);
panel2.add(deuxpi,gbc);
coordonne(1,5,gbc,1,1);
panel2.add(tanhun,gbc);
coordonne(2,5,gbc,1,1);
panel2.add(tanun,gbc);
coordonne(2,2,gbc,1,1);
panel2.add(ex,gbc);
panel2.validate();}
else {
panel2.remove(frac);
panel2.remove(sinhun);
panel2.remove(sinmun);
panel2.remove(deg);
panel2.remove(coshun);
panel2.remove(cosun);
panel2.remove(deuxpi);
panel2.remove(tanhun);
panel2.remove(tanun);
panel2.remove(ex);
panel2.validate();
coordonne(0,3,gbc,1,1);
panel2.add(intt,gbc);
coordonne(1,3,gbc,1,1);
panel2.add(sinh,gbc);
coordonne(2,3,gbc,1,1);
panel2.add(sin,gbc);
coordonne(0,4,gbc,1,1);
panel2.add(dms,gbc);
coordonne(1,4,gbc,1,1);
panel2.add(cosh,gbc);
coordonne(2,4,gbc,1,1);
panel2.add(cos,gbc);
coordonne(0,5,gbc,1,1);
panel2.add(pi,gbc);
coordonne(1,5,gbc,1,1);
panel2.add(tanh,gbc);
coordonne(2,5,gbc,1,1);
panel2.add(tan,gbc);
coordonne(2,2,gbc,1,1);
panel2.add(ln,gbc);
panel2.validate();
}
}
}
/////// Operations
void add1()
{
if(first==0)
result=num=result+n1;
String str=String.valueOf(result);
resultat.setText(str);
opt=2;
if(oper2!=0)
{
oper1=oper2;
oper2=0;
}
first=0;
}
//Sub called according to previous operator
void sub()
{
if(first==0)
result=num=result-n1;
String str=String.valueOf(result);
resultat.setText(str);
opt=2;
if(oper2!=0)
oper1=oper2;
first=0;
}
//Div called according to previous operator
void div()
{
if(first==0)
{
if(n1==0)
resultat.setText("Cannot divide by zero");
else
result=num=result/n1;
}
String str=String.valueOf(result);
resultat.setText(str);
opt=2;
if(oper2!=0)
oper1=oper2;
first=0;
}
//Mul called according to previous operator
void mul()
{
if(first==0)
result=num=result*n1;
String str=String.valueOf(result);
resultat.setText(str);
opt=2;
if(oper2!=0)
oper1=oper2;
first=0;
}
}
最佳答案
您在构造函数的开头在向 JFrame 添加组件之前调用 setVisible(true)
,因此您在所有组件添加之前显示 GUI添加。不要这样做,请在构造函数末尾或在将所有组件添加到 GUI 完成时调用此方法。
再说一遍,永远不要做出这样的假设,“”代码都是正确的...”
- 尤其是在超过 1000 行的大型行为不当程序中。我知道 - 每次我'这样做之后,我最终显得很愚蠢,因此吸取了教训。
此外,您在代码中交换了很多组件,应该考虑使用 CardLayout帮助您以更干净、更轻松的方式进行交换。
关于java - 我的 Swing 应用程序不再正确显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25995126/
我正在编写一个具有以下签名的 Java 方法。 void Logger(Method method, Object[] args); 如果一个方法(例如 ABC() )调用此方法 Logger,它应该
我是 Java 新手。 我的问题是我的 Java 程序找不到我试图用作的图像文件一个 JButton。 (目前这段代码什么也没做,因为我只是得到了想要的外观第一的)。这是我的主课 代码: packag
好的,今天我在接受采访,我已经编写 Java 代码多年了。采访中说“Java 垃圾收集是一个棘手的问题,我有几个 friend 一直在努力弄清楚。你在这方面做得怎么样?”。她是想骗我吗?还是我的一生都
我的 friend 给了我一个谜语让我解开。它是这样的: There are 100 people. Each one of them, in his turn, does the following
如果我将使用 Java 5 代码的应用程序编译成字节码,生成的 .class 文件是否能够在 Java 1.4 下运行? 如果后者可以工作并且我正在尝试在我的 Java 1.4 应用程序中使用 Jav
有关于why Java doesn't support unsigned types的问题以及一些关于处理无符号类型的问题。我做了一些搜索,似乎 Scala 也不支持无符号数据类型。限制是Java和S
我只是想知道在一个 java 版本中生成的字节码是否可以在其他 java 版本上运行 最佳答案 通常,字节码无需修改即可在 较新 版本的 Java 上运行。它不会在旧版本上运行,除非您使用特殊参数 (
我有一个关于在命令提示符下执行 java 程序的基本问题。 在某些机器上我们需要指定 -cp 。 (类路径)同时执行java程序 (test为java文件名与.class文件存在于同一目录下) jav
我已经阅读 StackOverflow 有一段时间了,现在我才鼓起勇气提出问题。我今年 20 岁,目前在我的家乡(罗马尼亚克卢日-纳波卡)就读 IT 大学。足以介绍:D。 基本上,我有一家提供簿记应用
我有 public JSONObject parseXML(String xml) { JSONObject jsonObject = XML.toJSONObject(xml); r
我已经在 Java 中实现了带有动态类型的简单解释语言。不幸的是我遇到了以下问题。测试时如下代码: def main() { def ks = Map[[1, 2]].keySet()
一直提示输入 1 到 10 的数字 - 结果应将 st、rd、th 和 nd 添加到数字中。编写一个程序,提示用户输入 1 到 10 之间的任意整数,然后以序数形式显示该整数并附加后缀。 public
我有这个 DownloadFile.java 并按预期下载该文件: import java.io.*; import java.net.URL; public class DownloadFile {
我想在 GUI 上添加延迟。我放置了 2 个 for 循环,然后重新绘制了一个标签,但这 2 个 for 循环一个接一个地执行,并且标签被重新绘制到最后一个。 我能做什么? for(int i=0;
我正在对对象 Student 的列表项进行一些测试,但是我更喜欢在 java 类对象中创建硬编码列表,然后从那里提取数据,而不是连接到数据库并在结果集中选择记录。然而,自从我这样做以来已经很长时间了,
我知道对象创建分为三个部分: 声明 实例化 初始化 classA{} classB extends classA{} classA obj = new classB(1,1); 实例化 它必须使用
我有兴趣使用 GPRS 构建车辆跟踪系统。但是,我有一些问题要问以前做过此操作的人: GPRS 是最好的技术吗?人们意识到任何问题吗? 我计划使用 Java/Java EE - 有更好的技术吗? 如果
我可以通过递归方法反转数组,例如:数组={1,2,3,4,5} 数组结果={5,4,3,2,1}但我的结果是相同的数组,我不知道为什么,请帮助我。 public class Recursion { p
有这样的标准方式吗? 包括 Java源代码-测试代码- Ant 或 Maven联合单元持续集成(可能是巡航控制)ClearCase 版本控制工具部署到应用服务器 最后我希望有一个自动构建和集成环境。
我什至不知道这是否可能,我非常怀疑它是否可能,但如果可以,您能告诉我怎么做吗?我只是想知道如何从打印机打印一些文本。 有什么想法吗? 最佳答案 这里有更简单的事情。 import javax.swin
我是一名优秀的程序员,十分优秀!