Kontrolka LED

K2
  • Rejestracja:około 13 lat
  • Ostatnio:około 10 lat
  • Postów:142
0

Witam

Jak zrobić/gdzie znaleźć kontrolkę dla javy w kształcie koła która da się wypełnić na zielono lub czerwono (true/false) ?
Chodzi mi o coś takiego jak elipse w WPF.

edytowany 3x, ostatnio: kornik280
PP
  • Rejestracja:około 11 lat
  • Ostatnio:około 9 lat
  • Postów:40
0

Chodzi o JRadioButton lub JCheckBox?


Jeśli coś jest głupie, ale działa, to nie jest głupie.
edytowany 3x, ostatnio: PrzepychaczPL
K2
  • Rejestracja:około 13 lat
  • Ostatnio:około 10 lat
  • Postów:142
0

Chodzi mi o koło które można wypełniać kolorem tak jak elipse w wpf.
Ma to działać tak że gdy flaga true to wypełnienie na zielono a gdy flaga false to wypełnienie na czerwono
Obawiam się że w netbeans nie ma tego gotowego i trzeba to jakoś narysować.

edytowany 1x, ostatnio: kornik280
PP
  • Rejestracja:około 11 lat
  • Ostatnio:około 9 lat
  • Postów:40
0

Nie znam .NET, ale jeśli dobrze rozumiem to rysujesz sobie koło (poczytaj o Graphics2D) i za pomoca switch sprawdzasz czy zmienna jest true/false. Jesli true to wypelniasz elipse wybranym kolorem, a jesli false to nie robisz nic lub wypelniasz innym.


Jeśli coś jest głupie, ale działa, to nie jest głupie.
init0
  • Rejestracja:prawie 12 lat
  • Ostatnio:3 miesiące
  • Lokalizacja:2 Sm 12
0

a może po prostu daj dwa obrazki jako dwa stany? i nałóż to na jpanel czy tam inny kontener.


Raz przyszedł gość do bogacza
lecz jemu żal było brać coś z owiec i własnego bydła
czym mógłby posłużyć podróżnemu który do niego zawitał
Więc zabrał owieczkę owemu biednemu mężowi
i tę przygotował człowiekowi, co przybył do niego
K2
  • Rejestracja:około 13 lat
  • Ostatnio:około 10 lat
  • Postów:142
0

Dobrze dzięki waszym podpowiedzią udało mi się stworzyć tą kontrolkę:

Kopiuj
 @Override
 public void paint(Graphics g) {
       // super.paintComponent(g);
        Graphics2D g2d = (Graphics2D) g;
        Ellipse2D.Double circle = new Ellipse2D.Double();
        circle.width = 50;
        circle.height = 50;
        circle.x = 140;
        circle.y = 140;
        g2d.draw(circle);
        g2d.setColor(Color.green);
        g2d.fill(circle);
        g2d.setStroke(new BasicStroke(2));
        g2d.setColor(Color.black);
        g2d.draw(circle);
    } 

Lecz pojawił mi się kolejny problem gdyż po narysowaniu tej kontroli traci mi się cały kolor formatki(robi się biały) i co gorsza tracą mi się wszystkie label'e. Jak to rozwiązać?

bakeraw2
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 5 lat
  • Postów:400
0

może odkomentuj super.paintComponent(g);

K2
  • Rejestracja:około 13 lat
  • Ostatnio:około 10 lat
  • Postów:142
0

Próbowałem pojawia się błąd "cannot find symbol"

K2
  • Rejestracja:około 13 lat
  • Ostatnio:około 10 lat
  • Postów:142
0

Nikt mi nic nie podpowie jak do tego podejść aby narysować kontrolke nie tracąc przy tym koloru tła i elementów formatki?

bakeraw2
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 5 lat
  • Postów:400
0

Podaj kod programu.

K2
  • Rejestracja:około 13 lat
  • Ostatnio:około 10 lat
  • Postów:142
0
Kopiuj
 

import java.util.Timer;
import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.geom.*;



public class GUI extends javax.swing.JFrame {

   Timer _timer;
   Socket _mySocket;
   Sender _sender;
   Listener _listener;
   
    public GUI() 
    {
         initComponents();
         initTextField();
        _timer= new Timer();
        _mySocket=new Socket();
        _listener=new Listener(this);
        _sender= new Sender(this);
  
       
    }

 public void UpdateTextField1(String value)
   {
      jTextField1.setText(value);
   }
   public void UpdateTextField2(String value)
   {
      jTextField2.setText(value);
   }
   public void UpdateTextField3(String value)
   {
      jTextField3.setText(value);
   }
   public void UpdateTextField4(String value)
   {
      jTextField4.setText(value);
   }
   public void UpdateTextField5(String value)
   {
      jTextField5.setText(value);
   } 
   public void EnableButton()
   {
       jButton2.setEnabled(true);
   }
   private void initTextField()
   {
       jTextField1.setEditable(false);
       jTextField2.setEditable(false);
       jTextField3.setEditable(false);
       jTextField4.setEditable(false);
       jTextField5.setEditable(false);
       
       jTextField1.setText("0");
       jTextField2.setText("0");
       jTextField3.setText("0");
       jTextField4.setText("0");
       jTextField5.setText("0");
       
       
   }
   @Override
 public void paint(Graphics g) {
      
       
        Graphics2D g2d = (Graphics2D) g;
        Ellipse2D.Double circle = new Ellipse2D.Double();
        g2d.setColor(getBackground());
        circle.width = 50;
        circle.height = 50;
        circle.x = 140;
        circle.y = 140;
        g2d.draw(circle);
        g2d.setColor(Color.green);
        g2d.fill(circle);
        g2d.setStroke(new BasicStroke(2));
        g2d.setColor(Color.black);
        g2d.draw(circle);
        g2d.setPaintMode();
       
     
       
         
    }


public void CloseApp()
{
      _timer.cancel();
      
      if(_mySocket.isConnected())
      {
           try {
               _mySocket.close();
           } 
           catch (IOException ex) {}
                
      }
     _timer.purge();
     
      if(_listener._thread!=null)
      {
        _listener._thread.stop();
      
      }
      this.dispose();

}
   
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        jTextField1 = new javax.swing.JTextField();
        jTextField2 = new javax.swing.JTextField();
        jTextField3 = new javax.swing.JTextField();
        jTextField4 = new javax.swing.JTextField();
        jTextField5 = new javax.swing.JTextField();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                formWindowClosing(evt);
            }
        });

        jButton1.setText("Zamknij");
        jButton1.setName("_close"); // NOI18N
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jButton2.setText("Połącz");
        jButton2.setName("_open"); // NOI18N
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        jTextField1.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N

        jTextField2.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N

        jTextField3.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N

        jTextField4.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N

        jTextField5.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N

        jLabel1.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
        jLabel1.setText("Czystość azotu [%]");

        jLabel2.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
        jLabel2.setText("Przepływ azotu [m3/h]");

        jLabel3.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
        jLabel3.setText("Ciśnienie azotu [bar]");

        jLabel4.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
        jLabel4.setText("Temperatura azotu [C]");

        jLabel5.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
        jLabel5.setText("Przepływ dobowy [m3/24h]");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(258, 258, 258)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel3)
                            .addComponent(jLabel2)
                            .addComponent(jLabel4)
                            .addComponent(jLabel5)
                            .addComponent(jLabel1))
                        .addGap(69, 69, 69)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(67, 67, 67)
                        .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(60, 60, 60)
                        .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(208, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap(129, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel1)
                    .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(37, 37, 37)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel3)
                    .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(32, 32, 32)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel2))
                .addGap(33, 33, 33)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel4)
                    .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(32, 32, 32)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(47, 47, 47)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 49, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 49, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(32, 32, 32))
        );

        pack();
    }// </editor-fold>                        
//-------------------------Połącz---------------------------------
    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
       
       jButton2.setEnabled(false);
       _timer.schedule(_sender, 0,200);//wysyłaj zapytanie co 2 sekundy
    }                                        
//------------------------Zamknij---------------------
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
      
    CloseApp();
    }                                        

    private void formWindowClosing(java.awt.event.WindowEvent evt) {                                   
     CloseApp(); 
    }                                  


    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(Modbus.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(Modbus.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(Modbus.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(Modbus.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new GUI().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JTextField jTextField1;
    private javax.swing.JTextField jTextField2;
    private javax.swing.JTextField jTextField3;
    private javax.swing.JTextField jTextField4;
    private javax.swing.JTextField jTextField5;
    // End of variables declaration                   
}



Klasa Listener gdzie jest aktualizacja textfieldów:

Kopiuj
mport java.io.*;
import java.net.*;

public class Listener implements Runnable {
    
 private final byte[] _buforIn=new byte[40];
   
 Thread _thread;
 InputStream _inputStream;
 DataInputStream _dataInputStream;
 Socket _mySocket;
 GUI _gui;
 
 int _temp1=0;
 int _temp2=0;
 int _temp3=0;
 int _temp4=0;
 int _temp5=0;
 
 
  Listener(GUI gui)
  {
       this._mySocket=gui._mySocket;
       this._gui=gui;
      _thread=new Thread(this,"Communication");
      _thread.start();
      
  }
    
    public void run()
    {
        while(true)
        { 
           
           try
           { 
             Thread.sleep(100);
             
             if(_mySocket.isConnected())
             { 
                _inputStream=_mySocket.getInputStream();
                _dataInputStream=new DataInputStream(_inputStream);
             }
             else
             {   
                 ClearTextFields();
                 continue;
             }
             _dataInputStream.read(_buforIn, 0, _buforIn.length);
             
           
           }
           catch(Exception ex) 
           {   
               ClearTextFields();
               continue;
           }
           
           if(_buforIn[10]==0x01)//on/off
           { 
              int  firstByte=0;
              int  secondByte=0;
               
              firstByte = (0x000000FF & ((int)_buforIn[11]));
              secondByte = (0x000000FF & ((int)_buforIn[12]));
              _temp1=(int)(firstByte << 8 | secondByte);
              _gui.UpdateTextField2(String.valueOf(_temp1));
              firstByte=0;
              secondByte=0;
              
              
               
              firstByte = (0x000000FF & ((int)_buforIn[13]));
              secondByte = (0x000000FF & ((int)_buforIn[14]));
              _temp2=(int)(firstByte << 8 | secondByte);
              _gui.UpdateTextField5(String.valueOf(_temp2));
              firstByte=0;
              secondByte=0;
             
              
             
              firstByte = (0x000000FF & ((int)_buforIn[15]));
              secondByte = (0x000000FF & ((int)_buforIn[16]));
              _temp3=(int)(firstByte << 8 | secondByte);
              _gui.UpdateTextField1(String.valueOf((float)_temp3/10).replace(".", ","));
              firstByte=0;
              secondByte=0;
               
              
            
              secondByte = (0x000000FF & ((int)_buforIn[18]));
              _temp4=(int)(secondByte);
              _gui.UpdateTextField3(String.valueOf((float)_temp4/10).replace(".", ","));
              secondByte=0; 
              
              //------------temperatura azotu ----------------
              firstByte = (0x000000FF & ((int)_buforIn[19]));
              secondByte = (0x000000FF & ((int)_buforIn[20]));
              _temp5=(int)(firstByte << 8 | secondByte);
              _gui.UpdateTextField4(String.valueOf((float)_temp5/10).replace(".", ","));
              firstByte=0;
              secondByte=0;
             
           }
           
            for(byte i:_buforIn) i=0;
        }
    }
    private void ClearTextFields()
    {
        _gui.UpdateTextField1("0");
        _gui.UpdateTextField2("0");
        _gui.UpdateTextField3("0");
        _gui.UpdateTextField4("0");
        _gui.UpdateTextField5("0");
        
    }
} 

Do celowo chce zmieniać wypełnienie kontrolki z zielonej na czerwoną ale na razie funkcja paint zamalowuje mi formatke na biało. Trace labele, butony też ale gdy na nie najadę kursorem to sie pojawiają, textfieldy są widoczne z nimi nie ma problemu.Pojawia się też moja kontrolka (kółko)

edytowany 2x, ostatnio: bogdans
bogdans
!Umieszczaj kod w znacznikach &lt;code=java&gt; &lt;/code&gt;
PP
  • Rejestracja:około 11 lat
  • Ostatnio:około 9 lat
  • Postów:40
0
Kopiuj
 if(_mySocket.isConnected())
      {
           try {
               _mySocket.close();
           } 
           catch (IOException ex) {}
 
      }

Wyjątki wypadałoby obsłużyć :).

Zamiast tworzyć kilka takich samych czcionek, stwórz jedną i w pętli ustaw ją dla każdego JTextFielda i JLabela :).
Wszędzie tam, gdzie wielokrotnie wykonujesz podobną czynność, staraj się zastosować pętlę.


Jeśli coś jest głupie, ale działa, to nie jest głupie.
edytowany 1x, ostatnio: PrzepychaczPL
bakeraw2
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 5 lat
  • Postów:400
0

Moim zdaniem powinieneś kod napisać kod od nowa.. lepiej. Znikają Ci komponenty, ponieważ nie używasz super.paint(g); Oto kod:

Kopiuj
    @Override
    public void paint(Graphics g) {
        super.paint(g);
        Graphics2D g2d = (Graphics2D) g;
        Ellipse2D.Double circle = new Ellipse2D.Double();
        g2d.setColor(getBackground());
        circle.width = 50;
        circle.height = 50;
        circle.x = 140;
        circle.y = 140;
        g2d.draw(circle);
        g2d.setColor(Color.green);
        g2d.fill(circle);
        g2d.setStroke(new BasicStroke(2));
        g2d.setColor(Color.black);
        g2d.draw(circle);
        g2d.setPaintMode();
    }

Poza tym rysuj takie rzeczy na panelu a nie ramce.

K2
  • Rejestracja:około 13 lat
  • Ostatnio:około 10 lat
  • Postów:142
0
PrzepychaczPL napisał(a):
Kopiuj
 if(_mySocket.isConnected())
      {
           try {
               _mySocket.close();
           } 
           catch (IOException ex) {}
 
      }

Wyjątki wypadałoby obsłużyć :).

Zamiast tworzyć kilka takich samych czcionek, stwórz jedną i w pętli ustaw ją dla każdego JTextFielda i JLabela :).
Wszędzie tam, gdzie wielokrotnie wykonujesz podobną czynność, staraj się zastosować pętlę.

Nie bardzo zrozumiałem z tą pętlą?

K2
  • Rejestracja:około 13 lat
  • Ostatnio:około 10 lat
  • Postów:142
0
bakeraw2 napisał(a):

Moim zdaniem powinieneś kod napisać kod od nowa.. lepiej. Znikają Ci komponenty, ponieważ nie używasz super.paint(g); Oto kod:

Kopiuj
    @Override
    public void paint(Graphics g) {
        super.paint(g);
        Graphics2D g2d = (Graphics2D) g;
        Ellipse2D.Double circle = new Ellipse2D.Double();
        g2d.setColor(getBackground());
        circle.width = 50;
        circle.height = 50;
        circle.x = 140;
        circle.y = 140;
        g2d.draw(circle);
        g2d.setColor(Color.green);
        g2d.fill(circle);
        g2d.setStroke(new BasicStroke(2));
        g2d.setColor(Color.black);
        g2d.draw(circle);
        g2d.setPaintMode();
    }

Poza tym rysuj takie rzeczy na panelu a nie ramce.

Super dzięki o tą jedną instrukcje chodziło :) Jak jest różnica między ramką a panelem?

PP
  • Rejestracja:około 11 lat
  • Ostatnio:około 9 lat
  • Postów:40
0
Kopiuj
jTextField1.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
 
        jTextField2.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
 
        jTextField3.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
 
        jTextField4.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
 
        jTextField5.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
 
        jLabel1.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
        jLabel1.setText("Czystość azotu [%]");
 
        jLabel2.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
        jLabel2.setText("Przepływ azotu [m3/h]");
 
        jLabel3.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
        jLabel3.setText("Ciśnienie azotu [bar]");
 
        jLabel4.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
        jLabel4.setText("Temperatura azotu [C]");
 
        jLabel5.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
        jLabel5.setText("Przepływ dobowy [m3/24h]"); 

Zmień na:

Kopiuj
Font czcionka = new Font("Tahoma", 0, 18);
for(int a=1; a<=5; a++)
{
("jTextField" + i).setFont(czcionka);
("jLabel" + i).setFont(czcionka);
} 

Nie zapomnij dodać setText'ow.

W kodzie mogą być jakieś błędy, bo nie pisze z kompa.


Jeśli coś jest głupie, ale działa, to nie jest głupie.
edytowany 2x, ostatnio: PrzepychaczPL
bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
0

@PrzepychaczPL, pomysł z pętlą nie jest zły, ale Twój kod to bzdury.

Kopiuj
("jTextField" + i).setFont(czcionka);

Metoda setFont() wywołana na rzecz Stringa?


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
edytowany 2x, ostatnio: bogdans
PP
  • Rejestracja:około 11 lat
  • Ostatnio:około 9 lat
  • Postów:40
0

Napisałem, że nie piszę z kompa, więc nie mam eclipsa, co oznacza, że nie mam jak sprawdzić czy działa. Mimo wszystko myślę, że sposób w jaki ma to działać przekazałem dobrze.

PS
Pierwsza pochwała od Ciebie :O


Jeśli coś jest głupie, ale działa, to nie jest głupie.
bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
0

Mimo wszystko myślę, że sposób w jaki ma to działać przekazałem dobrze.
Mam trochę inne zdanie.:P
Jedno rozwiązanie, to tworzyć tablice: jedna zawiera wszystkie JTextFields, druga JLabels. Jeśli tablic nie ma, to kod powinien wyglądać jakoś tak:

Kopiuj
Font czcionka = new Font("Tahoma", 0, 18);
Component[] components = getComponents();
for(Component component:components)
{
    if(component instanceof JTextField)
    {
        ((JTextField)component).setFont(czcionka);
    }
    if(component instanceof JLabel)
    {
        ((JLabel)component).setFont(czcionka);
   }
}

To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
miiichal_er
miiichal_er
  • Rejestracja:prawie 12 lat
  • Ostatnio:ponad 2 lata
  • Postów:9
0

Odnośnie czcionek, zamiast pętli, tablic, możesz skorzystać z tego:

Kopiuj
Font font = new Font("Tahoma", Font.PLAIN, 14);
UIManager.put("TextField.font", font);
UIManager.put("Label.font", font);
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)