Pagina 3 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 31
  1. #21
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    636
    I dati all'interno delle JTextArea sono alfanumerici ma ti interessa anche sapere la lunghezza di ciascun ddato che voglio modificare?

    Allora ho notato che In 2 di questa JTextArea i dati sono della lunghezza di 5 caratteri alfanumerici (nelle proprietà delle jtextarea ho visto columns : 5) mentre per un'altra jtextarea i dati sono della lunghezza pari a 1 (in pratica in questa jtextarea vado a variare solo il bit da 0 a 1 o viceversa tramite un jradiobutton)

  2. #22
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    636
    Vabbe opto per una soluzione piu semplice.
    Cioè faccio il click sull'area selezionata e mi richiamo il JDialog per modificare.
    Dato che questo JDialog lo richiamo tramite la classe MODIFICA.

    Però vorrei sapere un'altra cosa:
    Dato che questo JDialog è composto da 3 Jpanel differenti a seconda della JTextArea su cui si vogliono modificare i valori..è possibile richiamare la JDialo solo con il panel della JTextArea su cui si vogliono modificare i dati?

  3. #23
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da jurij7
    Dato che questo JDialog è composto da 3 Jpanel differenti a seconda della JTextArea su cui si vogliono modificare i valori..è possibile richiamare la JDialo solo con il panel della JTextArea su cui si vogliono modificare i dati?
    Passa la JTextArea al costruttore della tua classe dialog.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #24
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    636
    cioè come si fa?

  5. #25
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    636
    Io ho fatto questo

    private void jTextArea4MouseClicked(java.awt.event.MouseEvent evt) {
    Modifica modifica = new Modifica();
    modifica.setVisible(true);
    }

    E con un click mi apre la JDialog con tutti e tre i JPanel delle JTextArea
    mentre io vorrei solo il JPanel3 cioè quello relativo alla JTextArea in questione

  6. #26
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da jurij7
    Io ho fatto questo

    private void jTextArea4MouseClicked(java.awt.event.MouseEvent evt) {
    Modifica modifica = new Modifica();
    modifica.setVisible(true);
    }

    E con un click mi apre la JDialog con tutti e tre i JPanel delle JTextArea
    mentre io vorrei solo il JPanel3 cioè quello relativo alla JTextArea in questione
    Senti ... scusa ma lo dico una volta per tutte: qui si tratta di fare valutazioni sul "design" della applicazione, inteso sia proprio a livello grafico/visuale (disposizione dei componenti ecc..) sia a livello di programmazione ad oggetti cioè la struttura delle classi e le relazioni tra di loro.

    Cose che non posso spiegarti o indicarti io, primo perché non sono un genio/guru della OOP e di Java ma poi, secondo, perché sopratutto non ho e non posso avere una idea chiara di tutta la tua applicazione e di quello che vuoi fare di preciso.

    Posso solo continuare a farti domande (perdendo tempo io e facendo perdere tempo a te) per cercare di cavarti dalla bocca dettagli della tua implementazione che è probabile che siano già sbagliati in partenza a livello di "design".

    Continui a parlare di questa classe Modifica .... ma per come l'hai usata sopra mi dice poco. Cosa "sa" o deve "sapere" questa classe Modifica dei dati su cui deve operare??? Non vedo nulla di particolare in questo senso. Vedo solo che la istanzi e la rendi visibile.

    Dici che la dialog ha 3 pannelli ... messi come? Uno solo dei 3 visualizzato per volta? E se così, in base a cosa? Forse in base alla JTextArea di riferimento su cui hai cliccato?
    E perché 3 pannelli? Sono tutti diversi in termini di componenti e dati gestiti? Se è così, allora sarebbe stato più logico realizzare 3 dialog diverse per editare dati appunto diversi.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #27
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    636
    Se vuoi ti posto l'intera classe, cosi almeno hai un'idea.
    Non ti ho chiesto di postarti il codice per non farti perdere tempo
    Dimmi tu, se ti va per me è ok

  8. #28
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    636
    Si la Dialog ha 3 pannelli visualizzati 1 per volta tramite JTabbedPane.
    Ognuna di questo pannello rappresenta una JTextArea dell'interfacia principale.
    Questo JDialog la apro tramite un bottone modifica sulla Jtoolbar.

    Quello che vorrei è separare ciasucon di questi pannelli della Jdialog ed aprire ciascuno tramite il click sulla JTextArea relativa

    Spero di essere stato chiaro

    P.S.
    Facendo questo

    private void jTextArea4MouseClicked(java.awt.event.MouseEvent evt) {
    Modifica modifica = new Modifica();
    modifica.setVisible(true);
    }

    Praticamente clicco sulla JTextarea4 ma mi si apre la jdialog con tutti e 3 in tabbedpane mentre io vorrei aprire solo quello di pertinzenza all'area cliccata

  9. #29
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    636
    Ciao a tutti, allora io ho fatto questa classe, quindi un jpanel che mi si dovrebbe aprire cliccando su una jetxtarea :

    import javax.swing.*;

    public class NewJPanel extends javax.swing.JDialog {
    private Simulatore sim;
    private boolean resetMemVideo,
    resetInBuffer;

    public NewJPanel() {
    super();
    this.sim = Main.getSim();
    initComponents();
    setMemLocation();
    resetMemVideo=false;
    resetInBuffer=false;
    }

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    applica();
    }

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
    dispose();
    }

    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
    applica();
    dispose();
    }

    private void jCheckBox1ActionPerformed(java.awt.event.ActionEve nt evt) {
    if (jCheckBox1.isSelected()) resetMemVideo=true;
    }

    private void jCheckBox2ActionPerformed(java.awt.event.ActionEve nt evt) {
    if (jCheckBox2.isSelected()) resetInBuffer=true;
    }

    private void applica(){
    int valore;
    byte byteBuffer[];
    String content;
    content = jTextField15.getText();
    if (content.length()==4){
    try{
    valore = Integer.parseInt(content, 16);
    if (valore<Memoria.MEM_SIZE){
    byte memValue = see(jTextField16);
    if (!jTextField16.getText().equals("error")){
    String contPrec= Conversione.valueIntEsa(sim.ram.leggi(valore),2);
    sim.ram.scrivi(memValue, valore);
    sim.processore.memWrite=valore;
    jTextField16.setText(Conversione.valueIntEsa(sim.r am.leggi(valore),2));
    jLabel34.setText("Locazione " + content + " aggiornata da +contPrec + " a + jTextField16.getText());
    }
    jTextField15.setText(Conversione.valueIntEsa(valor e, 4));
    }else{
    jTextField15.setText("error");
    jLabel34.setText(null);
    }
    }catch (Exception e){
    jTextField15.setText("error");
    jLabel34.setText(null);
    }
    }else{
    jTextField15.setText("error");
    jLabel34.setText(null);
    }
    //reset memoria video
    if (resetMemVideo){
    byte zero = 0x20;
    for (int i=Memoria.VIDEO_BUFFER_LOCATION; i< (Memoria.VIDEO_BUFFER_LOCATION + Memoria.VIDEO_BUFFER_SIZE); i++){
    sim.ram.scrivi(zero, i);
    sim.processore.memWrite=i;
    }
    resetMemVideo=false;
    jCheckBox1.setSelected(false);
    }
    //reset input buffer
    if (resetInBuffer){
    byte zero = 0;
    for (int i=Memoria.KEYBOARD_BUFFER_LOCATION; i<(Memoria.KEYBOARD_BUFFER_LOCATION + Memoria.KEYBOARD_BUFFER_SIZE); i++){
    sim.ram.scrivi(zero, i);
    sim.processore.memWrite=i;
    }
    resetInBuffer=false;
    jCheckBox2.setSelected(false);
    }
    //aggiorna la schermata principale
    sim.aggiorna(true);
    }

    //metodo che guarda il valore inserito nel textField e restituisce il corrispondente valore binario
    private byte see(JTextField textField){
    String content = textField.getText();
    if (content.length()==2){
    try{
    int valore = Integer.parseInt(content, 16);
    return (byte) valore;
    }catch (Exception e){
    textField.setText("error");
    }
    }else{
    textField.setText("error");
    }
    return 0;
    }

    //settaggio della locazione di memoria all'apertura della finestra
    private void setMemLocation(){
    jTextField15.setText("0000");
    try {
    jTextField16.setText(Conversione.valueIntEsa(sim.r am.leggi(0),2));
    } catch (Exception ex) {
    ex.printStackTrace();
    }
    }

    public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
    new NewJPanel().setVisible(true);
    }
    });
    }
    }


    Dopodichè ho applicato alla JTextArea nel pannello principale l'evento mouseclicked in questo modo

    private void jTextArea2MouseClicked(java.awt.event.MouseEvent evt) {
    this.sim = Main.getSim();
    sim.isRun=false;
    NewJPanel newjpanel = new NewJPanel();
    newjpanel.setVisible(true);
    }

    Ma non mi apre nulla...mi diresti dove sbaglio?
    Ti ringrazio

  10. #30
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    636
    Andbin..mi aiuti?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.