スタイル付きテキスト (埋め込みアイコン付き) を処理できるJTextPane
またはを使用します。JEditorPane
詳細については、エディタ ペインとテキスト ペインの使用方法を参照してください。

アップデート
JTextPane または JEditorPane を使用すると、境界線のシェーディングとコンポーネントが変更されます。
本当に?この次のスクリーンショットは 3 つすべてを示しています。

(コードを最初に見て不正行為はありません。)
PLAFに関しては。それらの間に目に見える違いがある PLAF を見せてください。
import java.awt.*;
import javax.swing.*;
class DistinguishThese {
public void initGui() {
JPanel gui = new JPanel(new GridLayout(3,0,2,2));
gui.add(new JTextField(5));
gui.add(new JScrollPane(new JEditorPane()));
gui.add(new JScrollPane(new JTextPane()));
JOptionPane.showMessageDialog(null, gui);
}
public static void main(String[] args) {
SwingUtilities.invokeLater( new Runnable() {
public void run() {
DistinguishThese dt = new DistinguishThese();
dt.initGui();
}
});
}
}