JFrame如何根据代码中的结果显示图片?

时间:2016-10-22 23:40:09

标签: java jframe

正如标题所说,我想根据代码中的结果显示JFrame中的三个图像之一。

确定结果的代码是:

Equilatero,Escaleno和Isosceles是结果。

private void CActionPerformed(java.awt.event.ActionEvent evt) {                                  
       double la,lb,lc;
       double a;
       double p;
       String t=null;
       
       la=Double.parseDouble(LA.getText());
       lb=Double.parseDouble(LB.getText());
       lc=Double.parseDouble(LC.getText());
       
      if (la==lb && la==lc){
        t=("Equilatero");
     }else if (la==lb || lb==lc || la==lc) {
        t=("Isósceles");  
     }else if (la!=lb || lb!=lc || la!=lc) {
        t=("Escaleno");    
     }
     if (lb+lc>la && la+lc>lb && la+lb>lc){
     a=Math.sqrt((la+lb+lc)*(-la+lb+lc)*(la-lb+lc)*(la+lb-lc)/16);
     p=la+lb+lc;
     //A.setText("El area del triangulo "+t+" es ("+a+").");
     A.setText("El triangulo "+t+" tiene un area de ("+a+") y un perimetro de ("+p+").");  
     } else {
     A.setText("Los valores ("+la+"), ("+lb+") y ("+lc+") no corresponden a los lados de un triangulo."); 
     }
    }                     

2 个答案:

答案 0 :(得分:1)

首先,在JFrame上设置图片会很痛苦...您可以做的更容易创建JLabel或{{ 1}}并设置其图片,然后将JPanelJLabel添加到JPanel

话虽如此,你可以做一个JFrame语句来确定结果是哪种类型的三角形:

switch

答案 1 :(得分:0)

假设您已经知道如何为图像创建imageIcons,您需要做的就是在框架中添加JPanel,然后为其添加JLabel。然后根据字符串的结果,将jlabel的图标设置为相应的图像。

e.g。

//create panel and jlabel
JPanel panel = new JPanel();
JLabel label = new JLabel();

//add the label to the panel, and the panel to the frame.
panel.add(label);
yourFrame.add(panel);

//Check what image you want
if(t.equals("Equilatero")){
    label.setIcon(example1Image);
else if(t.equals....