Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

82
LINES

< > BotCompany Repo | #1003437 // Swing: Edit JavaX snippet

JavaX source code [tags: use-pretranspiled] - run with: x30.jar

Uses 1068K of libraries. Click here for Pure Java version (1504L/10K/37K).

!752

!1003435 // RSyntaxTextArea

import org.fife.ui.rtextarea.*;
import org.fife.ui.rsyntaxtextarea.*;

static S snippetID = "#636";

static RSyntaxTextArea textArea;
static JLabel status;
static JButton btnSave;

p {
  if (args.length != 0) snippetID = args[0];
  
  snippetID = formatSnippetID(snippetID);
  JFrame frame = new JFrame(snippetID + " - " + getSnippetTitle(snippetID) + " [Edit]");
  JPanel panel = new JPanel(new BorderLayout());
  
  textArea = new RSyntaxTextArea(20, 60);
  textArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
  textArea.setCodeFoldingEnabled(true);
  textArea.setTabSize(2);
  textArea.setTabsEmulated(true); // Spaces are MUCH better
  RTextScrollPane sp = new RTextScrollPane(textArea);
  
  panel.add(BorderLayout.CENTER, sp);
  
  status = new JLabel("Loading...");
  btnSave = new JButton("Save " + snippetID);
  btnSave.setEnabled(false);
  textArea.setEditable(false); // still loading
  
  btnSave.addActionListener(actionListener {
    saveSnippet();
  });
  
  JPanel bottom = new JPanel(new BorderLayout);
  bottom.add(BorderLayout.CENTER, status);
  bottom.add(BorderLayout.EAST, btnSave);
 
  panel.add(BorderLayout.SOUTH, bottom);
  
  onUpdate(textArea, r {
    btnSave.setEnabled(true);
  });

  thread {
    final S s = loadSnippet(snippetID);
    awt {
      status.setText("Loaded " + s.length() + " chars.");
      textArea.setText(s);
      //textArea.scrollRectToVisible(new Rectangle(0, 0, 1, 1));
      textArea.setCaretPosition(0);
      btnSave.setEnabled(false);
      textArea.setEditable(true);
      textArea.requestFocus();
    }
  }
  
  frame.add(panel);
  frame.setBounds(100, 100, 500, 400);
  frame.setVisible(true);
  exitOnFrameClose(frame);
}

static void saveSnippet() {
  final S text = textArea.getText();
  btnSave.setEnabled(false);
  status.setText("Saving...");
  thread {
    final S url = "http://tinybrain.de:8080/tb-int/update_snippet_text.php";
    S user = loadTextFile(new File(userHome(), ".tinybrain/username").getPath(), null);
    S pass = loadTextFile(new File(userHome(), ".tinybrain/userpass").getPath(), null);
    S query = "id=" + parseSnippetID(snippetID) + "&text=" + urlencode(text) + "&_user=" + urlencode(user) + "&_pass=" + urlencode(pass);
    final S page = doPost(query, url);
    
    awt {
      status.setText("Saved snippet: " + page);
    }
  }
}

Author comment

Began life as a copy of #1000894

download  show line numbers  debug dex  old transpilations   

Travelled to 16 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, ddnzoavkxhuk, gwrvuhgaqvyk, ishqpsrjomds, jtubtzbbkimh, lpdgvwnxivlt, mqqgnosmbjvj, onxytkatvevr, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt

No comments. add comment

Snippet ID: #1003437
Snippet name: Swing: Edit JavaX snippet
Eternal ID of this version: #1003437/1
Text MD5: f5c05b42616f11bee461748d82f344f1
Transpilation MD5: 9a6fc6930ac6152462770fa0f9b365ca
Author: stefan
Category: javax
Type: JavaX source code
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2016-07-03 15:52:40
Source code size: 2458 bytes / 82 lines
Pitched / IR pitched: No / No
Views / Downloads: 635 / 671
Referenced in: #1004360 - editJavaXSnippet [Swing] using JTextArea
#1004361 - Edit JavaX snippet [2]