|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2007
Messaggi: 364
|
[Java] Accedere a Risorse Thread - Genymus
Salve e Buon Anno a tutti.
Ho creato una GUI con l'aiuto di Netbeans, sviluppando l'applicazione mi sono imbattuto in un'imprevisto. Quando ho creato il frame, Netbeans ha avviato automaticamente una nuova istanza, impedendomi di accedere alle risorse tramite metodi statici... Mi spiego meglio: La gui ha una JTextArea a cui vorrei accedere da una funzione esterna all'istanza della gui. Qualcuno ha la soluzione?
__________________
Genymus!!! "Che cosa vorreste far incidere sulla vostra tomba?". "Torno fra 5 minuti." "Lucido" è quando credi soltanto a metà di ciò che ti dicono. "Brillante" è quando sai a quale metà credere. "Pensa, ogni volta che respiro muore un uomo." "Hai provato a fare qualcosa per l'alito?" Aforismieaforismi.it |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2007
Messaggi: 364
|
Non c'è alcun modo?
__________________
Genymus!!! "Che cosa vorreste far incidere sulla vostra tomba?". "Torno fra 5 minuti." "Lucido" è quando credi soltanto a metà di ciò che ti dicono. "Brillante" è quando sai a quale metà credere. "Pensa, ogni volta che respiro muore un uomo." "Hai provato a fare qualcosa per l'alito?" Aforismieaforismi.it |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
io di solito lavoro seguendo l'MVC pattern, ovvero separo le 3 "fasi" in modo indipendente, creo la grafica nel package view, creo i modelli nel package model e poi nel controller metto tutte le classi che fanno il lavoro sporco.
__________________
My gaming placement |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2007
Messaggi: 364
|
Il problema è che affidandomi a Netbeans per creare il Jframe, automaticamente la creazione avviene tramite un thread...
Solo che poi non riesco più ad accedere alle risorse del thread in questione. Ps: sono alle prime armi con java, ed è la prima vera volta che programmo solamente ad oggetti. Grazie
__________________
Genymus!!! "Che cosa vorreste far incidere sulla vostra tomba?". "Torno fra 5 minuti." "Lucido" è quando credi soltanto a metà di ciò che ti dicono. "Brillante" è quando sai a quale metà credere. "Pensa, ogni volta che respiro muore un uomo." "Hai provato a fare qualcosa per l'alito?" Aforismieaforismi.it |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
Posta un po' di codice interessato. Mi sembra strano quello che dici.
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Oct 2007
Messaggi: 364
|
Ecco tutto il codice della Classe gui:
Codice:
package Gui;
import java.awt.event.*;
import java.awt.*;
public class gui extends javax.swing.JFrame {
private void setComponents() {
if (Modules.filesystem.readConfig() != true) {
Console.append("Fallita.");
this.setEnabled(true);
} else {
if (Modules.variables.config.containsKey("activators")) {
Servers.init.main(Modules.variables.config.get("activators"));
Console.append("Eseguita.");
this.setEnabled(true);
} else {
Console.append("Fallita.");
this.setEnabled(true);
}
}
}
public gui() {
initComponents();
Dimension dim = getToolkit().getScreenSize();
this.setLocation(dim.width/2-this.getWidth()/2,dim.height/2-this.getHeight()/2);
Console.setText("Inizializzazione... ");
setComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
cmd_operators = new javax.swing.JToggleButton();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
cmd_clients = new javax.swing.JToggleButton();
jLabel7 = new javax.swing.JLabel();
cmd_modules = new javax.swing.JToggleButton();
jLabel10 = new javax.swing.JLabel();
cmd_mysql = new javax.swing.JToggleButton();
port_operators = new javax.swing.JLabel();
number_operators = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
port_clients = new javax.swing.JLabel();
jLabel11 = new javax.swing.JLabel();
number_clients = new javax.swing.JLabel();
number_modules = new javax.swing.JLabel();
jLabel15 = new javax.swing.JLabel();
port_modules = new javax.swing.JLabel();
jLabel13 = new javax.swing.JLabel();
jLabel19 = new javax.swing.JLabel();
address_mysql = new javax.swing.JLabel();
jLabel17 = new javax.swing.JLabel();
port_mysql = new javax.swing.JLabel();
input_terminal = new javax.swing.JTextField();
jLabel21 = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
Console = new javax.swing.JTextArea();
cmdErase = new javax.swing.JLabel();
jMenuBar1 = new javax.swing.JMenuBar();
jMenu4 = new javax.swing.JMenu();
file_config = new javax.swing.JMenuItem();
jSeparator1 = new javax.swing.JPopupMenu.Separator();
file_close = new javax.swing.JMenuItem();
jMenu1 = new javax.swing.JMenu();
operators_new = new javax.swing.JMenuItem();
operators_edit = new javax.swing.JMenu();
operators_delete = new javax.swing.JMenu();
jSeparator2 = new javax.swing.JPopupMenu.Separator();
operators_manager = new javax.swing.JMenuItem();
jMenu2 = new javax.swing.JMenu();
clients_new = new javax.swing.JMenuItem();
clients_edit = new javax.swing.JMenu();
clients_delete = new javax.swing.JMenu();
jSeparator3 = new javax.swing.JPopupMenu.Separator();
clients_manager = new javax.swing.JMenuItem();
jMenu3 = new javax.swing.JMenu();
modules_new = new javax.swing.JMenuItem();
modules_edit = new javax.swing.JMenu();
modules_delete = new javax.swing.JMenu();
jSeparator4 = new javax.swing.JPopupMenu.Separator();
modules_manager = new javax.swing.JMenuItem();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("PWA Server Edition v1.0.0");
setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
setEnabled(false);
setName("guiForm"); // NOI18N
setResizable(false);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
formWindowClosing(evt);
}
});
jPanel1.setBackground(new java.awt.Color(153, 153, 153));
jPanel1.setName("ServersPanel"); // NOI18N
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 12));
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel1.setText("Server Operatore");
jLabel1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
jLabel1.setName("jLabel1"); // NOI18N
cmd_operators.setFont(new java.awt.Font("Tahoma", 1, 11));
cmd_operators.setText("Attiva");
cmd_operators.setName("cmd_operators"); // NOI18N
cmd_operators.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent evt) {
cmd_operatorsItemStateChanged(evt);
}
});
jLabel2.setFont(new java.awt.Font("Tahoma", 0, 12));
jLabel2.setText("Porta:");
jLabel2.setName("jLabel2"); // NOI18N
jLabel3.setFont(new java.awt.Font("Tahoma", 0, 12));
jLabel3.setText("Connessioni:");
jLabel3.setName("jLabel3"); // NOI18N
jLabel4.setFont(new java.awt.Font("Tahoma", 1, 12));
jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel4.setText("Server Clienti");
jLabel4.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
jLabel4.setName("jLabel4"); // NOI18N
cmd_clients.setFont(new java.awt.Font("Tahoma", 1, 11));
cmd_clients.setText("Attiva");
cmd_clients.setName("cmd_clients"); // NOI18N
cmd_clients.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent evt) {
cmd_clientsItemStateChanged(evt);
}
});
jLabel7.setFont(new java.awt.Font("Tahoma", 1, 12));
jLabel7.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel7.setText("Server Moduli");
jLabel7.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
jLabel7.setName("jLabel7"); // NOI18N
cmd_modules.setFont(new java.awt.Font("Tahoma", 1, 11));
cmd_modules.setText("Attiva");
cmd_modules.setName("cmd_modules"); // NOI18N
cmd_modules.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent evt) {
cmd_modulesItemStateChanged(evt);
}
});
jLabel10.setFont(new java.awt.Font("Tahoma", 1, 12));
jLabel10.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel10.setText("Server MySQL");
jLabel10.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
jLabel10.setName("jLabel10"); // NOI18N
cmd_mysql.setFont(new java.awt.Font("Tahoma", 1, 11));
cmd_mysql.setText("Attiva");
cmd_mysql.setName("cmd_mysql"); // NOI18N
cmd_mysql.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent evt) {
cmd_mysqlItemStateChanged(evt);
}
});
port_operators.setFont(new java.awt.Font("Tahoma", 0, 12));
port_operators.setText("N.D.");
port_operators.setName("port_operators"); // NOI18N
number_operators.setFont(new java.awt.Font("Tahoma", 0, 12));
number_operators.setText("N.D.");
number_operators.setName("number_operators"); // NOI18N
jLabel8.setFont(new java.awt.Font("Tahoma", 0, 12));
jLabel8.setText("Porta:");
jLabel8.setName("jLabel8"); // NOI18N
port_clients.setFont(new java.awt.Font("Tahoma", 0, 12));
port_clients.setText("N.D.");
port_clients.setName("port_clients"); // NOI18N
jLabel11.setFont(new java.awt.Font("Tahoma", 0, 12));
jLabel11.setText("Connessioni:");
jLabel11.setName("jLabel11"); // NOI18N
number_clients.setFont(new java.awt.Font("Tahoma", 0, 12));
number_clients.setText("N.D.");
number_clients.setName("number_clients"); // NOI18N
number_modules.setFont(new java.awt.Font("Tahoma", 0, 12));
number_modules.setText("N.D.");
number_modules.setName("number_modules"); // NOI18N
jLabel15.setFont(new java.awt.Font("Tahoma", 0, 12));
jLabel15.setText("Connessioni:");
jLabel15.setName("jLabel15"); // NOI18N
port_modules.setFont(new java.awt.Font("Tahoma", 0, 12));
port_modules.setText("N.D.");
port_modules.setName("port_modules"); // NOI18N
jLabel13.setFont(new java.awt.Font("Tahoma", 0, 12));
jLabel13.setText("Porta:");
jLabel13.setName("jLabel13"); // NOI18N
jLabel19.setFont(new java.awt.Font("Tahoma", 0, 12));
jLabel19.setText("Address:");
jLabel19.setName("jLabel19"); // NOI18N
address_mysql.setFont(new java.awt.Font("Tahoma", 0, 12));
address_mysql.setText("N.D.");
address_mysql.setName("address_mysql"); // NOI18N
jLabel17.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
jLabel17.setText("Db:");
jLabel17.setName("jLabel17"); // NOI18N
port_mysql.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
port_mysql.setText("N.D.");
port_mysql.setName("port_mysql"); // NOI18N
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(cmd_operators, javax.swing.GroupLayout.DEFAULT_SIZE, 149, Short.MAX_VALUE)
.addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 149, Short.MAX_VALUE)
.addComponent(cmd_clients, javax.swing.GroupLayout.DEFAULT_SIZE, 149, Short.MAX_VALUE)
.addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, 149, Short.MAX_VALUE)
.addComponent(cmd_modules, javax.swing.GroupLayout.DEFAULT_SIZE, 149, Short.MAX_VALUE)
.addComponent(jLabel7, javax.swing.GroupLayout.DEFAULT_SIZE, 149, Short.MAX_VALUE)
.addComponent(cmd_mysql, javax.swing.GroupLayout.DEFAULT_SIZE, 149, Short.MAX_VALUE)
.addComponent(jLabel10, javax.swing.GroupLayout.DEFAULT_SIZE, 149, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(port_operators, javax.swing.GroupLayout.DEFAULT_SIZE, 110, Short.MAX_VALUE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(number_operators, javax.swing.GroupLayout.DEFAULT_SIZE, 76, Short.MAX_VALUE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel8)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(port_clients, javax.swing.GroupLayout.DEFAULT_SIZE, 110, Short.MAX_VALUE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel11)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(number_clients, javax.swing.GroupLayout.DEFAULT_SIZE, 76, Short.MAX_VALUE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel13)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(port_modules, javax.swing.GroupLayout.DEFAULT_SIZE, 110, Short.MAX_VALUE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel15)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(number_modules, javax.swing.GroupLayout.DEFAULT_SIZE, 76, Short.MAX_VALUE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel19)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(address_mysql, javax.swing.GroupLayout.DEFAULT_SIZE, 96, Short.MAX_VALUE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel17)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(port_mysql, javax.swing.GroupLayout.DEFAULT_SIZE, 124, Short.MAX_VALUE)))
.addContainerGap())
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(cmd_operators, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(port_operators))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(number_operators))
.addGap(18, 18, 18)
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(cmd_clients, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel8)
.addComponent(port_clients))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel11)
.addComponent(number_clients))
.addGap(18, 18, 18)
.addComponent(jLabel7)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(cmd_modules, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel13)
.addComponent(port_modules))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel15)
.addComponent(number_modules))
.addGap(18, 18, 18)
.addComponent(jLabel10)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(cmd_mysql, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel19)
.addComponent(address_mysql))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel17)
.addComponent(port_mysql))
.addContainerGap(28, Short.MAX_VALUE))
);
input_terminal.setName("input_terminal"); // NOI18N
input_terminal.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
input_terminalKeyPressed(evt);
}
});
jLabel21.setFont(new java.awt.Font("Tahoma", 1, 12));
jLabel21.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
jLabel21.setText("Terminale Server:");
jLabel21.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
jLabel21.setName("jLabel21"); // NOI18N
jScrollPane1.setName("jScrollPane1"); // NOI18N
Console.setColumns(20);
Console.setEditable(false);
Console.setRows(5);
Console.setName("Console"); // NOI18N
jScrollPane1.setViewportView(Console);
Console.getAccessibleContext().setAccessibleName("Console");
Console.getAccessibleContext().setAccessibleDescription("");
cmdErase.setFont(new java.awt.Font("Tahoma", 1, 11));
cmdErase.setForeground(new java.awt.Color(0, 0, 255));
cmdErase.setText("Cancella");
cmdErase.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
cmdErase.setName("cmdErase"); // NOI18N
cmdErase.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
cmdEraseMouseClicked(evt);
}
});
jMenuBar1.setName("jMenuBar1"); // NOI18N
jMenu4.setText("File");
jMenu4.setName("jMenu4"); // NOI18N
file_config.setText("Configurazione");
file_config.setName("file_config"); // NOI18N
file_config.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
file_configActionPerformed(evt);
}
});
jMenu4.add(file_config);
jSeparator1.setName("jSeparator1"); // NOI18N
jMenu4.add(jSeparator1);
file_close.setText("Esci");
file_close.setName("file_close"); // NOI18N
file_close.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
file_closeActionPerformed(evt);
}
});
jMenu4.add(file_close);
jMenuBar1.add(jMenu4);
jMenu1.setText("Operatori");
jMenu1.setName("jMenu1"); // NOI18N
operators_new.setText("Nuovo");
operators_new.setName("operators_new"); // NOI18N
jMenu1.add(operators_new);
operators_edit.setText("Modifica");
operators_edit.setName("operators_edit"); // NOI18N
jMenu1.add(operators_edit);
operators_delete.setText("Elimina");
operators_delete.setName("operators_delete"); // NOI18N
jMenu1.add(operators_delete);
jSeparator2.setName("jSeparator2"); // NOI18N
jMenu1.add(jSeparator2);
operators_manager.setText("Gestione Operatori");
operators_manager.setName("operators_manager"); // NOI18N
jMenu1.add(operators_manager);
jMenuBar1.add(jMenu1);
jMenu2.setText("Clienti");
jMenu2.setName("jMenu2"); // NOI18N
clients_new.setText("Nuovo");
clients_new.setName("clients_new"); // NOI18N
jMenu2.add(clients_new);
clients_edit.setText("Modifica");
clients_edit.setName("clients_edit"); // NOI18N
jMenu2.add(clients_edit);
clients_delete.setText("Elimina");
clients_delete.setName("clients_delete"); // NOI18N
jMenu2.add(clients_delete);
jSeparator3.setName("jSeparator3"); // NOI18N
jMenu2.add(jSeparator3);
clients_manager.setText("Gestione Clienti");
clients_manager.setName("clients_manager"); // NOI18N
jMenu2.add(clients_manager);
jMenuBar1.add(jMenu2);
jMenu3.setText("Moduli");
jMenu3.setName("jMenu3"); // NOI18N
modules_new.setText("Nuovo");
modules_new.setName("modules_new"); // NOI18N
jMenu3.add(modules_new);
modules_edit.setText("Modifica");
modules_edit.setName("modules_edit"); // NOI18N
jMenu3.add(modules_edit);
modules_delete.setText("Elimina");
modules_delete.setName("modules_delete"); // NOI18N
jMenu3.add(modules_delete);
jSeparator4.setName("jSeparator4"); // NOI18N
jMenu3.add(jSeparator4);
modules_manager.setText("Gestione Moduli");
modules_manager.setName("modules_manager"); // NOI18N
jMenu3.add(modules_manager);
jMenuBar1.add(jMenu3);
setJMenuBar(jMenuBar1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 467, Short.MAX_VALUE)
.addComponent(input_terminal, javax.swing.GroupLayout.DEFAULT_SIZE, 467, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel21, javax.swing.GroupLayout.PREFERRED_SIZE, 128, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 292, Short.MAX_VALUE)
.addComponent(cmdErase)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel21)
.addComponent(cmdErase))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 407, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(input_terminal, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(4, 4, 4))
);
getAccessibleContext().setAccessibleName("guiForm");
pack();
}// </editor-fold>
private void input_terminalKeyPressed(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode()==10) {
System.out.print("Key");
//Parser
}
}
private void cmd_operatorsItemStateChanged(java.awt.event.ItemEvent evt) {
if (evt.getStateChange() == ItemEvent.SELECTED) {
cmd_operators.setText("Disattiva");
//Comandi Attivazione Server
} else {
cmd_operators.setText("Attiva");
//Comandi Disattivazione Server
}
}
private void cmd_clientsItemStateChanged(java.awt.event.ItemEvent evt) {
if (evt.getStateChange() == ItemEvent.SELECTED) {
cmd_clients.setText("Disattiva");
//Comandi Attivazione Server
} else {
cmd_clients.setText("Attiva");
//Comandi Disattivazione Server
}
}
private void cmd_modulesItemStateChanged(java.awt.event.ItemEvent evt) {
if (evt.getStateChange() == ItemEvent.SELECTED) {
cmd_modules.setText("Disattiva");
//Comandi Attivazione Server
} else {
cmd_modules.setText("Attiva");
//Comandi Disattivazione Server
}
}
private void cmd_mysqlItemStateChanged(java.awt.event.ItemEvent evt) {
if (evt.getStateChange() == ItemEvent.SELECTED) {
cmd_mysql.setText("Disattiva");
//Comandi Attivazione Server
} else {
cmd_mysql.setText("Attiva");
//Comandi Disattivazione Server
}
}
private void file_configActionPerformed(java.awt.event.ActionEvent evt) {
this.setEnabled(false);
guiconfig.main();
}
private void file_closeActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}
private void cmdEraseMouseClicked(java.awt.event.MouseEvent evt) {
Console.setText("");
}
private void formWindowClosing(java.awt.event.WindowEvent evt) {
Servers.database.disconnect();
}
public static void main() {
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Windows".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(gui.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
(new gui()).setVisible(true);
}
});
}
// Variables declaration - do not modify
javax.swing.JTextArea Console;
javax.swing.JLabel address_mysql;
javax.swing.JMenu clients_delete;
javax.swing.JMenu clients_edit;
javax.swing.JMenuItem clients_manager;
javax.swing.JMenuItem clients_new;
javax.swing.JLabel cmdErase;
javax.swing.JToggleButton cmd_clients;
javax.swing.JToggleButton cmd_modules;
javax.swing.JToggleButton cmd_mysql;
javax.swing.JToggleButton cmd_operators;
javax.swing.JMenuItem file_close;
javax.swing.JMenuItem file_config;
javax.swing.JTextField input_terminal;
javax.swing.JLabel jLabel1;
javax.swing.JLabel jLabel10;
javax.swing.JLabel jLabel11;
javax.swing.JLabel jLabel13;
javax.swing.JLabel jLabel15;
javax.swing.JLabel jLabel17;
javax.swing.JLabel jLabel19;
javax.swing.JLabel jLabel2;
javax.swing.JLabel jLabel21;
javax.swing.JLabel jLabel3;
javax.swing.JLabel jLabel4;
javax.swing.JLabel jLabel7;
javax.swing.JLabel jLabel8;
javax.swing.JMenu jMenu1;
javax.swing.JMenu jMenu2;
javax.swing.JMenu jMenu3;
javax.swing.JMenu jMenu4;
javax.swing.JMenuBar jMenuBar1;
javax.swing.JPanel jPanel1;
javax.swing.JScrollPane jScrollPane1;
javax.swing.JPopupMenu.Separator jSeparator1;
javax.swing.JPopupMenu.Separator jSeparator2;
javax.swing.JPopupMenu.Separator jSeparator3;
javax.swing.JPopupMenu.Separator jSeparator4;
javax.swing.JMenu modules_delete;
javax.swing.JMenu modules_edit;
javax.swing.JMenuItem modules_manager;
javax.swing.JMenuItem modules_new;
javax.swing.JLabel number_clients;
javax.swing.JLabel number_modules;
javax.swing.JLabel number_operators;
javax.swing.JMenu operators_delete;
javax.swing.JMenu operators_edit;
javax.swing.JMenuItem operators_manager;
javax.swing.JMenuItem operators_new;
javax.swing.JLabel port_clients;
javax.swing.JLabel port_modules;
javax.swing.JLabel port_mysql;
javax.swing.JLabel port_operators;
// End of variables declaration
}
Classe: gui.java Codice:
public void wConsole(String Text) {
Console.append(Text);
}
Codice:
Gui.gui.wConsole("Prova");
grazie ancora
__________________
Genymus!!! "Che cosa vorreste far incidere sulla vostra tomba?". "Torno fra 5 minuti." "Lucido" è quando credi soltanto a metà di ciò che ti dicono. "Brillante" è quando sai a quale metà credere. "Pensa, ogni volta che respiro muore un uomo." "Hai provato a fare qualcosa per l'alito?" Aforismieaforismi.it Ultima modifica di Genymus : 03-01-2012 alle 19:59. |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
non ho letto tutto il codice, ma solo l'ultima riga, e l'errore ti dice "giustamente" che non puoi usare in modo statico quel metodo, in quanto dinamico.
prova a creare un oggetto Gui e poi ad utilizzarlo
__________________
My gaming placement |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Oct 2007
Messaggi: 364
|
Quote:
C'è un modo per "pubblicare" l'oggetto prodotto dal thread? Ecco qui mi perdo... in che senso creare oggetto gui? Grazie ancora
__________________
Genymus!!! "Che cosa vorreste far incidere sulla vostra tomba?". "Torno fra 5 minuti." "Lucido" è quando credi soltanto a metà di ciò che ti dicono. "Brillante" è quando sai a quale metà credere. "Pensa, ogni volta che respiro muore un uomo." "Hai provato a fare qualcosa per l'alito?" Aforismieaforismi.it |
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Codice:
Gui nomeGui= new Gui();
nomeGui.wConsole("Prova");
__________________
My gaming placement |
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Oct 2007
Messaggi: 364
|
Quote:
Se ho capito bene il funzionamento, ho creato una nuova istanza della classe ed ho eseguito una funzione nell'istanza. Se è così, allora non va bene, perchè ho bisogno che me la esegua nel thread creato per il mani, dove è stato già creato il form.
__________________
Genymus!!! "Che cosa vorreste far incidere sulla vostra tomba?". "Torno fra 5 minuti." "Lucido" è quando credi soltanto a metà di ciò che ti dicono. "Brillante" è quando sai a quale metà credere. "Pensa, ogni volta che respiro muore un uomo." "Hai provato a fare qualcosa per l'alito?" Aforismieaforismi.it |
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
io non ho capito invece cosa serve a te...perdonami ma sto sbattendo tra itext e altre cose quindi non sono lucidissimo, mi riepiloghi le tue esigenze e la tua attuale soluzione?
__________________
My gaming placement |
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Oct 2007
Messaggi: 364
|
Allora, riepilogo in poche parole, sperando di essere abbastanza chiaro:
La gui, viene creata con una nuova istanza, nella gui creata, c'è una JTextArea chiamata Console. Il mio problema è questo: devo accedere dall'esterno (da un'altra classe) a quasta textarea e modificarne il contenuto, solo che mi è impossibile perchè al momento della modifica questa si trova in una istanza. In sostanza, devo trovare un modo per accedere alla risorsa del thread e modificarla. Spero di aver fatto chiarezza. Grazie Mille
__________________
Genymus!!! "Che cosa vorreste far incidere sulla vostra tomba?". "Torno fra 5 minuti." "Lucido" è quando credi soltanto a metà di ciò che ti dicono. "Brillante" è quando sai a quale metà credere. "Pensa, ogni volta che respiro muore un uomo." "Hai provato a fare qualcosa per l'alito?" Aforismieaforismi.it |
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
__________________
My gaming placement |
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Oct 2007
Messaggi: 364
|
Ho guardato le reflection come mi hai detto, però non ho ben capito come usarle..
potresti, in un attimo di tempo, buttarmi giù un esempio? Grazie
__________________
Genymus!!! "Che cosa vorreste far incidere sulla vostra tomba?". "Torno fra 5 minuti." "Lucido" è quando credi soltanto a metà di ciò che ti dicono. "Brillante" è quando sai a quale metà credere. "Pensa, ogni volta che respiro muore un uomo." "Hai provato a fare qualcosa per l'alito?" Aforismieaforismi.it |
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Non c'è bisogno di andare a scomodare le reflection
crei un metodo che restituisca, una volta invocato, il contenuto della textarea Codice:
public String getTestoJTextArea(){
return this.jtextare.getText();
}
attento però che con questo approccio rischi di trovarti in seri problemi con la concorrenza e la consistenza dei dati. fai una prova.
__________________
My gaming placement |
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Oct 2007
Messaggi: 364
|
Si, questo sarebbe possibile se fossero nello stesso thread... solo che la mia applicazione funziona così:
Codice:
inizio -------Thread Gui----------
------------| Fine
-------Thread Server-------
io sto cercando dal Thread Server di accedere ad una risorsa del Thread Gui Grazie
__________________
Genymus!!! "Che cosa vorreste far incidere sulla vostra tomba?". "Torno fra 5 minuti." "Lucido" è quando credi soltanto a metà di ciò che ti dicono. "Brillante" è quando sai a quale metà credere. "Pensa, ogni volta che respiro muore un uomo." "Hai provato a fare qualcosa per l'alito?" Aforismieaforismi.it |
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Oct 2007
Messaggi: 364
|
Credo che l'unico modo sia utilizzare le reflection... solo che non riesco a capire come funzionano...
Certo che mi sembra incredibile che netbeans produca una cosa che è utilizzabile soltanto dal suo thread...
__________________
Genymus!!! "Che cosa vorreste far incidere sulla vostra tomba?". "Torno fra 5 minuti." "Lucido" è quando credi soltanto a metà di ciò che ti dicono. "Brillante" è quando sai a quale metà credere. "Pensa, ogni volta che respiro muore un uomo." "Hai provato a fare qualcosa per l'alito?" Aforismieaforismi.it |
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
ma infatti non è così, sto lavorando proprio in questo periodo ad un progetto con netbeans, e sto manipolando i dati dell'interfaccia grafica dall'esterno con classi "normali", senza alcun problema di sorta, forse però il mio caso è diverso dal tuo...
__________________
My gaming placement |
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Oct 2007
Messaggi: 364
|
mi puoi fare un'esempio di come modifichi i dati?
grazie mille Genymus
__________________
Genymus!!! "Che cosa vorreste far incidere sulla vostra tomba?". "Torno fra 5 minuti." "Lucido" è quando credi soltanto a metà di ciò che ti dicono. "Brillante" è quando sai a quale metà credere. "Pensa, ogni volta che respiro muore un uomo." "Hai provato a fare qualcosa per l'alito?" Aforismieaforismi.it |
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
dammi una mail che ti mando qualche progettino che ho fatto...che facciamo prima!!!
__________________
My gaming placement |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:13.




















