diff --git a/tutorials/java/dist/phpdbg-ui.jar b/tutorials/java/dist/phpdbg-ui.jar
index 8bd1f95ebcd..bc4c39cc6cd 100644
Binary files a/tutorials/java/dist/phpdbg-ui.jar and b/tutorials/java/dist/phpdbg-ui.jar differ
diff --git a/tutorials/java/nbproject/private/private.properties b/tutorials/java/nbproject/private/private.properties
index 5d050e308e0..9595bd60a15 100644
--- a/tutorials/java/nbproject/private/private.properties
+++ b/tutorials/java/nbproject/private/private.properties
@@ -1,4 +1,3 @@
-application.args=127.0.0.1 4000
compile.on.save=true
do.depend=false
do.jar=true
diff --git a/tutorials/java/src/phpdbg/ui/JConsole.form b/tutorials/java/src/phpdbg/ui/JConsole.form
index 7b3d9164fd5..fb2e622f5b5 100644
--- a/tutorials/java/src/phpdbg/ui/JConsole.form
+++ b/tutorials/java/src/phpdbg/ui/JConsole.form
@@ -22,8 +22,8 @@
-
-
+
+
diff --git a/tutorials/java/src/phpdbg/ui/JConsole.java b/tutorials/java/src/phpdbg/ui/JConsole.java
index 74f4040ce1a..60001d385c2 100644
--- a/tutorials/java/src/phpdbg/ui/JConsole.java
+++ b/tutorials/java/src/phpdbg/ui/JConsole.java
@@ -7,6 +7,7 @@ import static java.awt.event.KeyEvent.VK_UP;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
+import javax.imageio.ImageIO;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
@@ -68,7 +69,6 @@ public class JConsole extends javax.swing.JDialog {
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setTitle("phpdbg jui");
- setModalityType(java.awt.Dialog.ModalityType.TOOLKIT_MODAL);
host.setText("127.0.0.1");
host.setToolTipText("Set the hostname, or IPv4 address of the machine running the phpdbg remote console server");
diff --git a/tutorials/java/src/phpdbg/ui/JTerminalPane.java b/tutorials/java/src/phpdbg/ui/JTerminalPane.java
index 8462a6e4bf1..c616d2a8b86 100644
--- a/tutorials/java/src/phpdbg/ui/JTerminalPane.java
+++ b/tutorials/java/src/phpdbg/ui/JTerminalPane.java
@@ -13,6 +13,10 @@ package phpdbg.ui;
import javax.swing.*;
import javax.swing.text.*;
import java.awt.Color;
+import java.awt.Graphics;
+import java.awt.Image;
+import java.io.IOException;
+import javax.imageio.ImageIO;
public class JTerminalPane extends JTextPane {
@@ -32,22 +36,44 @@ public class JTerminalPane extends JTextPane {
private static final Color B_Yellow = Color.getHSBColor( 0.167f, 1.000f, 1.000f );
private static final Color B_Cyan = Color.getHSBColor( 0.500f, 1.000f, 1.000f );
private static final Color B_White = Color.getHSBColor( 0.000f, 0.000f, 1.000f );
- private static final Color cReset = Color.getHSBColor( 0.000f, 0.000f, 0.000f );
+ private static final Color cReset = Color.getHSBColor( 0.000f, 0.000f, 1.000f );
private Color colorCurrent = cReset;
private String remaining = "";
public JTerminalPane() {
super();
+ setOpaque(false);
+ setBackground(new Color(0, 0, 0, 0));
+ }
+
+ @Override public void paintComponent(Graphics g) {
+ g.setColor(Color.BLACK);
+ g.fillRect(0, 0, getWidth(), getHeight());
+
+ try {
+ Image image = ImageIO.read(
+ JTerminalPane.class.getResource("logo-small.png"));
+
+ g.drawImage(
+ image,
+ getWidth() - image.getWidth(this) - 10,
+ getHeight() - image.getHeight(this) - 10,
+ image.getWidth(this), image.getHeight(this), this);
+
+ } catch (IOException | NullPointerException | IllegalArgumentException ex) {}
+
+ super.paintComponent(g);
}
public void append(Color c, String s) {
StyleContext sc = StyleContext.getDefaultStyleContext();
AttributeSet aset = sc.addAttribute(
SimpleAttributeSet.EMPTY, StyleConstants.Foreground, c);
- setCaretPosition(getDocument().getLength());
setCharacterAttributes(aset, false);
replaceSelection(s);
+ setCaretPosition(
+ (getDocument().getLength() > 0) ? (getDocument().getLength() - 1) : 0);
}
public void appendANSI(String s) {
diff --git a/tutorials/java/src/phpdbg/ui/logo-small.png b/tutorials/java/src/phpdbg/ui/logo-small.png
new file mode 100644
index 00000000000..1792379f77a
Binary files /dev/null and b/tutorials/java/src/phpdbg/ui/logo-small.png differ