if you want to display PDF content and ignore the original format (boldness, font size, etc.), you can parse the PDF using any PDF analyzer (PDFBox, Tika .. etc.), and then specify the result of the string any text Component (JTextFiled or JTextArea).
otherwise, you should use the PDF rendering library. there are some commercial libraries for this.
but there is a little trick that I used in my last project to display PDF in my own panel, for example:

The idea is to use the built-in web component in your application, and then transfer the path to the file of this component, then the web rendering component will load the appropriate PDF rendering tool available on your computer, in my case the machine has an acrobat reader.
I am using this Native Swing library from a DJ project: http://djproject.sourceforge.net/ns/
just make a web browser:
private JWebBrowser fileBrowser = new JWebBrowser();
and control the appearance of the browser, then add the browser to your main panel (its layout is BorderLayout)
fileBrowser.setBarsVisible(false); fileBrowser.setStatusBarVisible(false); fileRenderPanel.add(fileBrowser, BorderLayout.CENTER);
then if you use a pdf file:
fileBrowser.navigate(filePath);
if you want to highlight several keywords in a PDF:
fileBrowser.navigate(filePath + "#search= " + keyword + ""); // work on acrobat reader only
if you want to display other text (plain, html):
fileBrowser.setHTMLContent(htmlContent);